input = file
通过 input = file 进行文件上传,上传的文件为图片时展示出图片,为其他格式时,展示上传的文件名
1 | <template> |
1 | <script> |
因为涉及文件上传,表单的 提交必须采起非编码格式 即: { 'content-type': 'multipart/form-data;boundary=${boundary}' }
${boundary}
为分割字符串。但无论是 fetch、 ajax
只要主动设置 content-type
为 multipart/form-data
,不加后面的 boundary
,会自动加到传输的格式中,致使后端取不到值。若是加了 boundary
,又致使直接 formData
都取不到值。
最终解决方案就是,content-type
不进行设置,只将 data 改成 formData
格式。浏览器会自动识别,自动设置为content-type: multipart/form-data;boundary=随机值
的形式。最终上传成功。
可以在 api.js 文件中进行配置请求头参数:
1 | export function createFile(data) { |
上传按钮鼠标浮动样式
1 | .avatar { |
参考文档:input = file
https://blog.csdn.net/liwenfei123/article/details/94453335content-type: multipart/form-data;
https://www.shangmayuan.com/a/e52e952d2229449b9a3dca6a.html