上传文件关键
- 1)表单的提交方式必须是POST方式。(才有content-type属性)
- 2)有文件上传表单,表单中有<input type="file"/>的选择文件的标签
- 3)把表单设置为enctype="multipart/form-data",提交的数据不再是key-value对,而是字节数据
表单
<form id="fileBookForm" enctype="multipart/form-data">
<input id="fileBookButton" type="file" name="file" class="file" class="uploadBookImg" onchange="uploadBookImg(this)" allowtypes="gif,jpg,png">
<input type="text" name="textfield" class="txt" value="上传">
<input type="hidden" class="imgUrl">
</form>
脚本
<script>
//上传图片代码逻辑
function uploadBookImg(img) {
if (img.files && img.files[0]) {
if ((img.files[0].size / 1024).toFixed(0) >= 5120) {
alert("图片大于5m,请上传小于5M的图片");
return false
}
}
$.ajax({
url: "服务器地址",
type: 'POST',
cache: false,
data: new FormData($("#fileBookForm")[0]),
processData: false,
contentType: false,
success: function (data) {
console.log(data)
if (data.success) {
var imgUrL = '';
console.log($(".upLoadImg .imgUrl").val(data.result));
} else {
alert("格式错误,请重新上传!");
}
},
error: function () {
alert("网络异常,请稍后再试");
}
});
}
</script>