1.options参数说明:

1、url            上传处理程序地址。
2、fileElementId      需要上传的文件域的ID,即的ID。
3、secureuri        是否启用安全提交,默认为false。
4、dataType         服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
5、success         提交成功后自动执行的处理函数,参数data就是服务器返回的数据。
6、error          提交失败自动执行的处理函数。
7、data            自定义参数。这个东西比较有用,当有数据是与上传的图片相关的时候,这个东西就要用到了。
8、type             当要提交自定义参数时,这个参数要设置成post

2.上传弹出框和上传摁扭

<div id="uploadAppendixPop" class="pop"  style="display:none;">
    <table class="tableInput" id="uploadAppendixModel">
        <tbody>
	        <tr>
	            <td class="bgtd">上传附件路径</td>
	            <td>
	                <input type="file" id="uploadAppendixFileRoad" name="uploadAppendixFileRoad" >
	            </td>
	        </tr>
        </tbody>
    </table>
</div>

<button class="btn" onclick="uploadAppendix('xxxx')">上传附件</button>

3.上传js(dataType通常设置为json,后端传上来时设置resp.setContentType("application/json; charset=UTF-8"),前端转为json:var data =  $.parseJSON(json);

function uploadAppendix(Id) {
	$('#uploadAppendixFileRoad').val('');
	fileIds = {};
	var index = layer.open({
		type: 1,
		title: '上传文件',
		skin: 'layui-layer-rim',
		area: ['520px', '180px'],
		content: $('#uploadAppendixPop'),
		btn: ['确定', '取消'],
		btnAlign: 'c',
		btn1: function () {
			submitAppendixForm( applyId, function(){
				layer.close(index);
			});
		},
		btn2: function () {

		}
	});
}
/**
 * 提交上传文件
 * @param entityId
 * @Param entityCode 
 */
function submitAppendixForm(Id, callback) {
	var file = $("#uploadAppendixFileRoad").val();
	var fileName = file.replace(/^.+?\\([^\\]+?)(\.[^\.\\]*?)?$/gi, "$1"); // 获取文件名,不带后缀
	if (fileName.length == 0) {
		layer.msg("附件文件名称不允许为空 !");
		return false;
	}
	if (filaNameSpecialCode(fileName)) {
		layer.msg("附件文件名称不能包含特殊字符!");
		return false;
	}
	if (fileName.length > 50) {
		layer.msg("附件文件名称长度不能超过50!");
		return false;
	}

	if (!isEmpty(fileName)) {
		$.ajaxFileUpload({
			url: "/Servlet?method=methodName&Id=" + Id,
			type: 'post',
			dataType : 'json',
			secureuri: false,
			fileElementId: 'uploadAppendixFileRoad',// file标签的id
			success: function (json) {
				var data =  $.parseJSON(json);
				if (data.result == "101") {
					layer.alert(data.message);
				} else {
					layer.alert("上传成功");
					setTimeout(function(){
						callback();
					},200);
				}
			},
			error: function () {
				layer.alert("上传附件失败");
			}
		});
	} else {
		layer.alert("上传文件不能为空");
		return;
	}
}

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐