我来讲一下测试下来遇到的问题点和解决方案:

一、配置相关问题

  1. 你可以先按照阿里云的文档把一些oss的基本配置弄好,再看下面的内容;

  2. 配置跨域访问规则;
    这是非常重要的一步。默认情况下,oss不允许上传文件时携带Content-Type请求头。如果你是前端,你会发现这个请求头是没办法去掉的,除非你自己写一个包。
    此时,我们在bucket的跨域访问规则中,将允许 Headers设置为*就行了。
    在这里插入图片描述
    为什么设置*而不设置为conent-type呢? 因为现在设置conent-type没有任何效果,并且阿里云的文档中心也写明必须要设置成这样,就不要多做纠结了。

  3. 代码中生成签名url时,设置的过期时间不能低于3600秒,否则会报错;

文件上传

  1. 文档类型文件上传

    • 上传文件时,并不是常用的formData格式。而是直接将读取到的文件二进制数据放到body中。
    • 此外,因为文件一般是直接下载的,可将content-type指定为application/octet-stream即可(也可以不传,默认就是这个值)。
  2. 上传图片
    如果图片需要在线预览,那么需要做如下步骤:

    • 生成签名url时,必须指定请求头Content-Type,如image/pngimage/jpg等等;
    • 使用签名url上传时,必须包含这个请求头;
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐