直接用获取到的文件上传的话就有这个限制。 要对文件内容进行一番处理才可以正常上传。 处理方法可以查看参考链接里面的上传例子。 参考链接:js文件上传原理(form表单 ,FormData + XHR2 + FileReader + canvas)
云开发 HTTP API uploadFile上传文件时会被限制文件大小吗?在使用云开发的 HTTP API 的时候遇到了个问题,就是上传的图片大小最大只能到 6.4KB 左右。在使用axios或者原生ajax上传的时候,小一点的就可以上传成功,但是大一点的就直接返回状态码 400 Bad Request 。在使用Element UI的上传组件的时候,超过6.4KB的图片也能上传,但是在云存储那里的文件大小只有6.4KB左右。 状态码为400时返回的错误描述: [代码]<[代码][代码]Code[代码][代码]>MalformedPOSTRequest</[代码][代码]Code[代码][代码]>[代码][代码]<[代码][代码]Message[代码][代码]>The body of your POST request is not well-formed multipart/form-data.</[代码][代码]Message[代码][代码]>[代码]使用uploadFile获取到了上传用的URL后进行上传的关键代码: [代码]var[代码] [代码]form = [代码][代码]new[代码] [代码]FormData();[代码][代码]form.append([代码][代码]'file'[代码][代码], file);[代码][代码]form.append([代码][代码]'key'[代码][代码], [代码][代码]this[代码][代码].uploadEnv.path);[代码][代码]form.append([代码][代码]'Signature'[代码][代码], res.authorization);[代码][代码]form.append([代码][代码]'x-cos-security-token'[代码][代码], res.token);[代码][代码]form.append([代码][代码]'x-cos-meta-fileid'[代码][代码], res.cos_file_id);[代码] [代码]axios.post(uploadUrl, form, {[代码][代码] [代码][代码]timeout: 60*1000,[代码][代码] [代码][代码]headers: {[代码][代码]"Content-Type"[代码][代码]: [代码][代码]"multipart/form-data;charset=UTF-8"[代码][代码]}[代码][代码]}).then((res)=>{[代码][代码] [代码] [代码]});[代码](uploadUrl是获取到的上传用的URL进行了代理处理后的url) 不知道是我的用法有问题还是在哪里不经意间被限制了大小?
2019-12-03