Socket
Socket
Sign inDemoInstall

uni-cloud-storage-adapter

Package Overview
Dependencies
9
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    uni-cloud-storage-adapter

uniApp cloud storage api sdk


Version published
Weekly downloads
2
Maintainers
1
Install size
2.22 MB
Created
Weekly downloads
 

Readme

Source

uni-cloud-storage

uniCloud 云存储进行API化的SDK
releases node license

说明📖

此SDK是对uni-cloud-storage的扩展,支持自定义域名。

仅用于个人项目(官方明确说明不可用于图床相关操作)

官方说明:https://ask.dcloud.net.cn/article/39390

目的:此项目是有一些处理需要交给服务端进行处理所以需要客户端将文件传给服务端后判断是否需要上传等一系列操作

安装🔧

需要存在node环境 npm :

npm i uni-cloud-storage-adapter

Yarn :

yarn add uni-cloud-storage-adapter

浏览器 ( script )

<script src="https://unpkg.com/uni-cloud-storage-adapter/dist/index.js"></script>

使用👋

node

node环境下 file参数需要传入文件<Buffer>并且需要传递文件名称:(fileName.png)

// 导入包
const UniCloudStorage = require('uni-cloud-storage-adapter');
// 初始化(两个必传参数,一个可选参数)
const unics = new UniCloudStorage(spaceId, clientSecret, host);
// 使用
unics.upload(file,fileName?):Promise
web

File类型文件直接传入就可以了无需传入文件名称

// 导入包
<script src="https://unpkg.com/uni-cloud-storage-adapter/dist/index.js"></script>
<script>
	  // 初始化(两个必传参数)
		const unics = new UniCloudStorage(spaceId, clientSecret, host);
</script>

解决跨域问题:

server {
    listen       80;
    listen       443 ssl http2;
    server_name  apibspapp.xxxxxx.com;

    if ($scheme = http ) {
        return 301 https://$host$request_uri;
    }

    access_log /var/log/nginx/xxxxxx.com.access.log  main;

    ssl_certificate   /Data/code/soso/ssl/fullchain.cer;
    ssl_certificate_key  /Data/code/soso/ssl/xxxxxx.com.key;

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /Data/code/soso/ssl/dhparam
    ssl_dhparam /Data/code/soso/ssl/dhparam;

    location / {
        # 加上下面这一行就够了
        add_header Access-Control-Allow-Origin * always;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, token';
        add_header Access-Control-Max-Age 3600;
        if ($request_method = 'OPTIONS') {
            return 204;
        }
        # 加上下面这一行就够了
        proxy_pass  https://api.bspapp.com;

        # 以下配置,是选配,不加也能实现反向代理
        # 指定头部:
        proxy_ssl_server_name on;
        proxy_hide_header Access-Control-Allow-Origin;
        #proxy_hide_header Content-Type;
        proxy_set_header Referer "https://api.bspapp.com";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header User-Agent $http_user_agent;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header Accept-Encoding "";
        proxy_set_header Accept-Language "zh-CN";

        proxy_intercept_errors on;  # 自定义404 500等
    }
    error_page   400 404  /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
es6

File类型文件直接传入就可以了无需传入文件名称

// 导入包
import UniCloudStorage from 'uni-cloud-storage-adpater';
成功返回值
{
    "success": true,
    "data": {
        "id": "",
        "cdnDomain": "",
        "signature": "",
        "policy": "",
        "accessKeyId": "",
        "ossPath": "021de.png",
        "host": "",
        "target": "https://vkceyugu.cdn.bspapp.com/V1de.png"
    }
}
错误返回值
{
    "success": false,
    "error":{
      "code":"uploadFileError",
      "message":"上传文件失败"
    }
}

感谢🙏

uni-app

License📖

Lexical is MIT licensed.

Keywords

FAQs

Last updated on 17 Oct 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc