WIN-8NDK4S1KEGQ\Administrator vor 3 Jahren
Ursprung
Commit
48e5a729bd
2 geänderte Dateien mit 2 neuen und 160 gelöschten Zeilen
  1. 0 157
      common/js/aliOssSts.js
  2. 2 3
      common/js/upLoadingFile.js

+ 0 - 157
common/js/aliOssSts.js

@@ -1,157 +0,0 @@
-/**
- * 微信小程序通过STS直传阿里云OSS
- *(uniapp版上传,小程序原生需要将uni.XXX替换为wx.XXX)
- *
- * @param {filePath} 图片临时地址
- * @param {option|Object} OSS和STS配置
- * @param {savePath} oss中的文件目录
- * @param {AccessKeySecret} 服务端返回的STS中的AccessKeySecret
- * @param {SecurityToken} 服务端返回的STS中的SecurityToken
- * @param {AccessKeyId} 服务端返回的STS中的AccessKeyId
- * @param {bucket} 存储桶
- * @param {area} 地区
- * @return {string|boolean} 成功返回文件地址,失败返回false
- */
-
-// import crypto from 'crypto-js';
-import {Base64} from 'js-base64/base64.js';
-
-function upload(filePath, option = {
-    savePath,
-    AccessKeySecret,
-    SecurityToken,
-    AccessKeyId,
-    bucket,
-    area
-}, callBack = () => {}) {
-    let fileType = filePath.split(".").pop();
-    let filename = option.savePath + "/" + createFileName(32) + "." + fileType;
-
-
-    const date = new Date();
-    date.setHours(date.getHours() + 1);
-    const policyText = {
-        expiration: date.toISOString(), // 设置policy过期时间。
-        conditions: [
-            ["content-length-range", 0, 1024 * 1024 * 1024],
-        ],
-    };
-    const policy = Base64.encode(JSON.stringify(policyText)) // policy必须为base64的string。
-    const signature = computeSignature(option.AccessKeySecret, policy)
-    const formData = {
-        OSSAccessKeyId: option.AccessKeyId,
-        signature,
-        policy,
-        'x-oss-security-token': option.SecurityToken,
-        key: filename,
-        success_action_status: 200
-    }
-
-    uni.uploadFile({
-        url: "https://" + option.bucket +
-            "." + option.area + ".aliyuncs.com",
-        filePath: filePath,
-        name: "file",
-        formData: formData,
-        success: (res) => {
-            let ossFileName = false;
-            if (res.statusCode === 200) {
-                // console.log('上传成功');
-                ossFileName = "https://" + option.bucket +
-                    "." + option.area + ".aliyuncs.com/" +
-                    filename;
-            }
-            callBack(ossFileName);
-        },
-        fail: err => {
-            // console.log(err);
-            callBack(false);
-        }
-    })
-}
-
-// 签名
-function computeSignature(accessKeySecret, canonicalString) {
-    return crypto.enc.Base64.stringify(crypto.HmacSHA1(canonicalString, accessKeySecret));
-}
-
-// 生成随机文件名
-function createFileName(length) {
-    const data = [
-        "0",
-        "1",
-        "2",
-        "3",
-        "4",
-        "5",
-        "6",
-        "7",
-        "8",
-        "9",
-        "A",
-        "B",
-        "C",
-        "D",
-        "E",
-        "F",
-        "G",
-        "H",
-        "I",
-        "J",
-        "K",
-        "L",
-        "M",
-        "N",
-        "O",
-        "P",
-        "Q",
-        "R",
-        "S",
-        "T",
-        "U",
-        "V",
-        "W",
-        "X",
-        "Y",
-        "Z",
-        "a",
-        "b",
-        "c",
-        "d",
-        "e",
-        "f",
-        "g",
-        "h",
-        "i",
-        "j",
-        "k",
-        "l",
-        "m",
-        "n",
-        "o",
-        "p",
-        "q",
-        "r",
-        "s",
-        "t",
-        "u",
-        "v",
-        "w",
-        "x",
-        "y",
-        "z",
-    ];
-    let nums = "";
-    for (let i = 0; i < length; i++) {
-        const r = parseInt(Math.random() * 61, 10);
-        nums += data[r];
-    }
-    return nums;
-}
-
-
-
-
-export default {
-    upload
-}

+ 2 - 3
common/js/upLoadingFile.js

@@ -2,8 +2,7 @@
 // 	getSts
 // 	getSts
 // } from "@/api/common.js";
 // } from "@/api/common.js";
 import tools from "./tools";
 import tools from "./tools";
-import AliOss from "./aliOssSts.js";
-
+import AliOss from 'aliOssSts'
 let ossData = null;
 let ossData = null;
 let sysTime = 0;
 let sysTime = 0;
 let setAliSts = async function () {
 let setAliSts = async function () {
@@ -29,7 +28,7 @@ export const upLoadingFileOss = async function (file) {
 		await setAliSts();
 		await setAliSts();
 	}
 	}
 	return new Promise((resolve, reject) => {
 	return new Promise((resolve, reject) => {
-		AliOss.upload(file, {
+		AliOss.uploadOss(file, {
 			savePath: getFilPathName(),
 			savePath: getFilPathName(),
 			AccessKeySecret: ossData.AccessKeySecret,
 			AccessKeySecret: ossData.AccessKeySecret,
 			SecurityToken: ossData.SecurityToken,
 			SecurityToken: ossData.SecurityToken,