鸿蒙开发上传图片文件到阿里云oss

首先吐糟下阿里云官方,现在都7月底了,还没出鸿蒙版本oss的sdk,正常应该很多app都是接阿里云oss上传的啊,而且我感觉封装一个oss的sdk也不难,核心的就是图片上传

问题:阿里云官方不提供,但是我们项目没法等啊,问题还得要解决,也只能自己解决
可行的解决方案:
1、app中嵌入web,把图片地址传给web,由web调用web的oss sdk,web去上传到oss上(应该是可行的,但是经过web是不稳定的,并且界面怎么办,不可能所有上传界面都用web来做)
2、app传图片到自己服务器,自己服务器再上传到阿里云oss(可行,但是这种往往需要压缩图片,否则会很久或者链接会断开,因为这里经过了两次上次图片文件,你传服务器,服务器传给阿里云)
3、app尝试客户端直传方式给阿里云oss(弄了挺长时间,不断修改,最终测试可行)。参考文档:
https://help.aliyun.com/zh/oss/use-cases/uploading-objects-to-oss-directly-from-clients/#36c322a437r3k

核心代码:

let formData: Array<http.MultiFormData> = []
  try {
     formData = [
      { name: 'name', contentType: 'text/plain', data: file.name },
      { name: 'policy', contentType: 'text/plain', data: data.policy },
      { name: 'OSSAccessKeyId', contentType: 'text/plain', data: accesskeyId },
      { name: 'success_action_status', contentType: 'text/plain', data: '200' },
      { name: 'signature', contentType: 'text/plain', data: data.signature },
      { name: 'key', contentType: 'text/plain', data: `${dir}${name}` },
      { name: 'file', contentType: 'text/plain', filePath: file.path, remoteFileName: file.name }
    ]
  } catch (e) {
    logContent("data166",e)
    uploadCallback()
  }

如果你要参考我写的代码,可评论或者私信我。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容