ajax使用formdata上传通过原始input[type=‘file‘]选择的文件

HTML代码

<input id="daoruInput" type="file"/>

JS代码

var formdata = new FormData();
formdata.append("file", $("#daoruInput")[0].files[0])

$.ajax({
	url: "xx.xx/upload",
	type: "POST",
	dataType: "json",
	data: formdata,
    //让jquery不处理发送的数据
	contentType: false, //这里不要落下
    //让jquery不设置content-type请求头
	processData: false,//这里不要落下
    //如果有需要要携带请求头
	headers: {
		"Authorization":"Bearer "+localStorage.getItem("access_token")
	},
	success: function (ret) {
		console.log('success')
	},
	error: function (err) {
		console.log('error')
	},
});

说明:

(1)$('#')[0].files 才可以获取到文件数据

(2)ajax请求的processData属性设置为false,默认情况下为true,会将数据处理为对象格式
(3)ajax请求的contentType属性设置为false,默认情况下为"application/x-www-form-urlencoded",该格式支持大多数数据的上传

                        
原文链接:https://blog.csdn.net/weixin_41305441/article/details/100690312

参考:formData和input的file结合使用 外加面试题 如何用原生实现上传?_new formdata()中添加file-CSDN博客

如何通过ajax实现同时上传文件及普通表单 - 一文了解FormData_ajax上传文件-CSDN博客 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值