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;
}
}