vue+axios配合php实现OSS直传

本文详细记录了使用Vue和Axios配合PHP实现阿里云OSS直传过程中遇到的问题及解决方案。重点包括:POST请求体的关键参数设置,如key、policy等;后台返回的dir需要注意不能以/开头;文件上传时Content-Type应设为multipart/form-data;file必须作为FormData的最后一个域;处理预请求OPTIONS及解决跨域问题。遵循这些要点,可以成功实现浏览器直传。
摘要由CSDN通过智能技术生成

OSS直传遇到的问题

前两天做项目的时候用到了oss浏览器直传,遇到了以下几个问题,在此做个记录:

分析了阿里云的浏览器直传案例之后,我发现这种方式需要使用post对oss地址进行文件上传,请求体至少需要以下几个信息:key,policy,OSSAccessKeyId,success_action_status,signature,file等6个键值。向后台请求的ajax接口应返回的信息为:

{
    accessid,//即OSSAccessKeyId
    host,//需要请求的oss地址
    policy,//经过base64编码的字符串信息
    signature,//加密信息
    expire,//该请求的加密有效时长
    callback,//上传回调,前端无需例会
    dir//上传文件的目录,不能以/开头,结尾最好有/
}

要特别注意后台传回来的dir,不能以/开头,否则使用post上传时会一直出现key值不合法的错误信息。另外,dir结尾最好有/,否则前端还需自行加入。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值