README.md 1.39 KB

zigg-upload-demo

通用上传demo,通过更换环境变量里的serviceName即可更换不同的底层存储,aliyun或s3存储,提供如下几个接口

接口定义和说明

带acl的签名接口

使用该接口控制上传对象是公开的还是私有的。
由于带签名的post上传使用的key,不同的底层存储会有略微区别,前端需要一个配置项,根据不同的底层存储类型,post上传的时候需要使用不同的key

服务端上传接口

服务端可根据该接口进行流式上传,aliyun可正常通过sdk上传,minio可使用aws-s3 sdk上传。
如果使用obs或者其他的底层存储,需要根据通用的storage定义,自行实现上传

获取下载链接接口

私有链接
公开链接, 调用存储微服务拿到host,api服务根据key自行拼接完整的url

其他注意事项

  1. aliyun和s3建议使用带acl的签名接口进行前端上传,之前旧的签名进行保留。
  2. 如果用了s3,底层存储是obs,简单使用的话,可以用旧的签名接口,拿到host,使用put上传。
  3. s3新的签名接口不兼容obs,需要根据通用的storage实现obs的签名。
  4. 针对使用了minio的s3,因为minio无法控制单个对象的权限,在使用public签名的时候,建议在minio上配置某个前缀的访问权限为public, 在项目里配置public的访问前缀。