<input id="file_file" type="file" name="file" accept="application/vnd.ms-excel" value="" />
$('#file_file').click(function() {
var fileObj = document.getElementById("file_file").files[0]; // js 获取文件对象
var intervalID = setInterval(my, 1000);
function my() {
fileObj = document.getElementById("file_file").files[0];
if (fileObj == undefined) {
return
}
var formData = new FormData();
formData.append("file", fileObj); //上传一个files对象
formData.append("参数", "参数"); //需要上传的多个参数
formData.append("参数1", "参数1"); //需要上传的多个参数
$.ajax({ //jQuery方法,此处可以换成其它请求方式
url: "你的服务器地址",
dataType: "json",
type: "post",
data: formData,
processData: false, //不去处理发送的数据
contentType: false, //不去设置Content-Type请求头
error: function(err) {
alert("上传失败!");
return;
},
success: function(res) {
clearInterval(intervalID);
var aa = res.data
var str1 = 'https://xxx' + aa; //拼接表格上传后地址
document.getElementById('device_num_submit').dataset.Url = str1; //利用data属性
}
})
}
})
此处我的逻辑是,选择完图片自动上传服务器,但有时候会出现刚选择好,就弹出上传失败的问题。setInterval完美解决了这个问题