vue图片上传需要token吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue图片上传需要token吗相关的知识,希望对你有一定的参考价值。

参考技术A 经过两个vue项目,分享一下图片上传这里的写法和注意点

1.只传一个文件信息过去时

//html
<!-- 上传按钮 -->
<div class="file-upload fl-r">
<span class="upload-desc">大小不能超过2M</span>
<a-upload
name="iFile"
accept="image/*"
:beforeUpload="beforeUpload"
:customRequest="onUpload"
:multiple="true"
:showUploadList="false"
>
<a-button icon="cloud-upload">上传</a-button>
</a-upload>
</div>
//JS
// 事件: 上传文件之前
beforeUpload (file, fileList)
// 显示错误提示(防抖处理)
const showErrorMsg = debounce(this.$message.error, 20)
// 验证文件大小
const isLt1M = file.size / 1024 / 1024 < 2
if (!isLt1M)
showErrorMsg('文件大小不能超出2MB')
return false

// 验证文件上传数量
if (fileList.length > 5)
showErrorMsg('一次上传的文件数量不能超出5个')
return false

return true
,

/**
* 事件: 自定义上传事件
*/
onUpload (info)
this.isLoading = true
// 记录上传状态
this.uploading.push(true)
// 构建上传参数
var formData = new FormData()
formData.append('file', info.file)
this.$http
.post("/file/upload", formData)
.then((res) =>
// console.log("文件上传成功", res);
this.$message.success(res.msg);
if (res.code == 1)
// 存入列表
this.fileList.push(
uid: this.fileList.length + 1,
name: res.data.name,
status: "done",
url: res.data.filePath,
);
else
this.$message.error(res.msg);

)
.catch(function (error)
console.log(error);
);
,
以上图片上传,后端只要求传送图片信息即可(二进制),所以在vue的request拦截里面进行Content-Type修改

// 添加请求拦截器
axios.interceptors.request.use(
(config) =>
// 每次发起请求前取消掉在进行中的相同请求
removePending(config);
config.cancelToken = new cancelToken((c) =>
// 这里的ajax标识我是用请求地址&请求方式拼接的字符串,当然你可以选择其他的一些方式
pending.push( u: config.url + "&" + config.method, f: c );
);
if (config.url == "/file/upload")
config.headers["Content-Type"] = "multipart/form-data";

return config;
,
(error) =>
message.error("请求超时");
return Promise.reject(error);

);
观察控制台网络请求位置可看到一下内容,注意红圈和篮圈部分都有的

2.第二次项目中遇到,要求传文件上传token和file

起初是把只把file 自己添加到FormData()对象中了,把upload_token放在了外面,结果报错了。正确的写法就是,一起添加到formData中去。这是一个经验问题,还好是蒙对了。

以上是关于vue图片上传需要token吗的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot+Vue+token实现(表单+图片)上传图片地址保存到数据库。上传图片保存位置自己定义图片可以在前端回显)

ant-design-vue 上传图片组件

Vue 上传图片到七牛云实用攻略

vue点击上传图片,vue上传oss,vue-cropper图片裁剪功能

web技术分享| 图片上传与图片裁剪结合 vue3

web技术分享| 图片上传与图片裁剪结合 vue3