You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
upload() {
let files;
files = this.refs.upload.files
let count = files.length;
let formData = new FormData();
for (let i = 0; i < count; i++) {
files[i].thumb = URL.createObjectURL(files[i]);
formData.append('filedata', files[i]);
}
}
标签
input
//标签的type设置为file属性accept
//属性,支持很多类型,这里设置为只上传图片hidden
//隐藏文字,做下面这种效果的时候,就需要隐藏文字。onChange //上传完成后的回调
JS代码
这里主要是通过
this.refs.upload
来获取上传之后的文件,然后通过createObjectURL
静态方法创建一个DOMString
(mac测试通过 input 上传过来webkitRelativePath
是空的),然后追加进formData。再通过send(body: formData)
方法传进后端后端
后端用的是node.js,express框架。fs模块,来进行判断是否存在该文件夹,如果不存在,则创建。
fs.existsSync()
返回值为true or falsefs.mkdir()
创建文件夹 multiparty模块来解析form表单gm 进行裁剪图片。
错误处理
1、
Error: unsupported content-type
这个错误是因为你的content-type设置错了,设置成
multipart/form-data
即可。2、设置完成之后,还是不行。
去掉
headers
的设置body: formData
//body的内容为表单内容3、上传一次图片之后,无法上传第二次,是因为value此时有值,没有进行清空处理,在上传成功回调里,进行
e.target.value = '';
The text was updated successfully, but these errors were encountered: