阿里云OSS上传请求403问题的完美解决方案及uni.uploadFile h5上传文件失败完美解决方案

 在使用阿里云OSS服务时,会用到跨域AJAX上传,上传时报403错误,之前遇到过此类问题并成功解决了,但时间长了遗忘,因此记录下来以备后续学习了解ajax跨域上传OSS。

ajax跨域上传首先会发送options请求,成功后再进行上传,那么,如何解决阿里云OSS跨域AJAX上传OPTIONS请求403问题?只需简单设置,流程如下:

进入存储空间(Bucket)  ——>  基础设置 ——> 跨域设置 ——> 添加规则,进入下图所示

阿里云OSS跨域AJAX上传OPTIONS请求403问题

设置以上规则后,就成功解决了阿里云OSS跨域AJAX上传OPTIONS请求403问题。

也可以参考uni.uploadFile h5上传文件失败完美解决方案,大致问题基本一样。

uni.uploadFile h5上传文件失败完美解决方案

小程序开发项目中,用到了uni-app框架,但因为需要兼容h5,其中有图片上传,后台始终不能获取到上传的文件。

网上找了各种办法,发现很多小程序开发采用uni-app框架都遇到了同样的问题:uni.uploadFile h5上传文件后台无法获取,甚至还牵扯到了payload、form data传值方式。

后来,经过创软小程序开发团队不断尝试,发现只要取消header设置即可,不知道为什么,反正这样实现了。

小程序开发的uni-app h5上传文件代码参考如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

uni.uploadFile({

    url:'http://www.teamsfy.com',     // 后端api接口

    filePath: res.tempFilePaths[0], // uni.chooseImage函数调用后获取的本地文件路劲

    name:'file',     //后端通过'file'获取上传的文件对象

    formData: {

        'billGID'"xxxccc",  

        'token':"dddd"

    },

    success:(res) => {

        console.log(res)

    },

    fail: (err) => {

        console.log('uploadImage fail', err);

        uni.showModal({

            content: err.errMsg,

            showCancel: false

            });

    }

});

当然,如果用到了跨域,需要设置 OPTIONS 请求,因为表单跨域上传文件,会先发送OPTIONS请求验证服务器是否可用。asp.net 跨域,在web.config中配置如下

1

2

3

4

5

6

7

8

9

<system.webServer>

  <httpProtocol

    <customHeaders

      <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/> 

      <add name="Access-Control-Allow-Origin" value="*" /> 

    </customHeaders

  </httpProtocol>

</system.webServer>

如果使用的阿里云OSS服务,阿里云OSS前端AJAX直接上传请参考阿里云OSS上传请求403问题的完美解决方案

转载于:http://www.teamsfy.com/html/r_da159c3b48f94f30927e899651064c47.html 

               http://www.teamsfy.com/html/r_28d3748f7a0449d8aeac8dd78a547f6e.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 访问阿里云OSS(对象存储服务)图片失败可能有多种原因。 首先,可能是由于网络连接问题导致无法访问阿里云OSS。在网络连接不稳定、慢或中断的情况下,访问OSS图片会失败。此时,可以尝试检查网络连接,并确保网络状况良好。 其次,可能是由于OSS对象不存在或被意外删除导致无法访问。在请求访问OSS图片时,如果对象不存在,将返回错误信息。此时,可以检查对象的路径和名称是否正确,并确保对象未被删除。 另外,可能是由于访问权限限制导致无法访问OSS图片。阿里云OSS提供了丰富的权限控制机制,可以通过私有、公共读、公共读写等权限设置来控制对象的访问。如果没有正确的权限设置,可能无法正常访问OSS图片。此时,可以检查访问对象的权限设置,并确保拥有足够的访问权限。 最后,可能是由于错误的请求方式或参数导致无法访问OSS图片。在请求OSS图片时,需要正确地使用API接口、请求方法和参数。如果请求方式或参数错误,阿里云OSS将无法正确处理请求并返回相应的图片。此时,可以检查请求方式和参数是否正确,并参考阿里云OSS API文档进行调整。 综上所述,访问阿里云OSS图片失败可能是由于网络连接问题、对象不存在、访问权限限制或错误的请求方式或参数等原因导致的。可以根据具体情况检查相关因素,并采取相应的措施来解决问题。 ### 回答2: 访问阿里云OSS图片失败可能是由于多种原因引起的。 首先,可能是由于网络连接问题导致无法访问OSS图片。这可能是由于网络连接不稳定、网络信号弱或者代理服务器的问题。建议检查网络连接,确认网络正常后再次尝试访问。 其次,可能是由于OSS图片的地址设置错误导致无法访问。检查图片的URL地址是否正确,确认是否包含了正确的域名、桶名和图片路径。 此外,还可能是由于权限设置不正确导致无法访问。在阿里云OSS中,需要正确设置桶的访问权限以及图片的访问权限。确保桶的读取权限设置为公共读或者授权用户有访问权限,并且图片的权限也正确配置。 最后,还可能是由于阿里云OSS服务端故障导致无法访问。在这种情况下,建议联系阿里云客服或者开发者支持团队,寻求帮助并报告问题,他们将会及时处理并解决问题。 综上所述,访问阿里云OSS图片失败可能是由于网络连接问题、URL地址设置错误、权限设置不正确或者服务端故障等原因引起的。根据具体情况,可以逐步排查并解决问题。 ### 回答3: 当访问阿里云OSS图片失败时,可能有以下几个原因: 1. 链接错误:请确保访问阿里云OSS的链接地址正确,包括域名、路径等信息是否填写正确。 2. 访问权限限制:在阿里云OSS中,每个存储桶都有自己的访问权限设置。请确保您拥有访问该图片的权限。 3. 存储桶设置问题:您需要确认存储桶是否处于正常状态。可能是存储桶已被删除、权限设置有误等情况导致无法访问。 4. 图片不存在:如果您输入的图片路径错误或者该图片已被删除,将导致访问失败。 5. 网络问题:可能是网络连接不稳定或者网络延迟导致无法正常访问阿里云OSS。此时,您可以尝试刷新页面或者稍后再试。 6. 阿里云OSS服务端故障:可能是阿里云OSS服务端出现故障导致无法正常访问。此时,您可以联系阿里云技术支持反馈问题,等待解决。 总结起来,访问阿里云OSS图片失败可能是链接错误、访问权限限制、存储桶设置问题、图片不存在、网络问题阿里云OSS服务端故障等原因导致的。如果您遇到该问题,可以逐一排查以上原因,找到具体原因后采取相应的解决措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值