vue 使用 上传图片到oss

vue 使用 上传图片到oss

使用后端签名前端直传的方式,上传图片:
1、后端提供回调
上传成功后,oss会把携带回调内容请求应用服务器,应用服务器响应这个二请求(问题1:a、可以携带哪些参数?),oss将结果返回前端(问题2:看官方文档,参数以"a":"b"表示,但是这个参数在哪定义的,是响应回调的参数吗?)
2、后端不提供回调
问题3:没有回调,oss还会返回上传图片响应的结果给前端吗?都给了哪些数据
2
问题4:
前端图片上传之后怎么和其他数据关联同步,比如:一个产品的数据包含了基础信息,还有片,那么图片是怎么关联到这个产品的,流程是怎么样的呢?
我的想法:
1、在后端接收到回调请求使,通过bukect和object拼接出图片的路径保存到与之对应数据的相关字段,但是不知怎么关联。
2、回调之后oss返回的结果可以由后端定义,就可以把路径传给前端,先不保存,前端把图片路径和其他数据一起提交再保存?
求以上四个问题的答案


回答:

不知道是哪家云存储,我就当你说的是阿里云的 OSS 了。

  1. 指定了回调,阿里云给你推送啥,是你在生成 UploadPolicy 时自己指定的,就是你看到的 JSON 键值对格式的,其中有一些变量会在推送给你时被替换为实际值(文档)。
  2. 你接受回调的接口给阿里云返回啥,阿里云会原样返回给前端。
  3. 建议使用服务端签名后 Web 直传这种方式(文档)。
  4. 没指定回调,上传成功是一个 200 响应,没有 Body。
  5. 方案很多。比如你可以在拼接回调数据字符串的时候,增加一个自定义的字段(自定义字段记得要以 x: 开头),比如是上传了 ID 为 10086 的用户头像,那么这个字段的值就可以是 “user_avatar:10086” 。等到你接到回调后,读取这个字段的值并做相应的业务逻辑处理。仅给个思路,你也可以自己想别的方案,这个没有啥最佳实践的。

以上是 vue 使用 上传图片到oss 的全部内容, 来源链接: utcz.com/p/935963.html

回到顶部