import { aliyunpolicy } from "@/utils/upload"; export function uploadFile(rules) { return new Promise((resolve, reject) => { uni.chooseImage({ count: 1, sizeType: ["compressed"], sourceType: ["album", "camera"], //从相册选择 success: (chooseImageRes) => { const tempFilePaths = chooseImageRes.tempFilePaths[0]; if (rules && !rules(tempFilePaths)) { return; } aliyunpolicy({ imageStatus: 6 }).then((res) => { let ossToken = res.resultContent; uni.uploadFile({ url: ossToken.host, name: "file", filePath: tempFilePaths, fileType: "image", header: { AuthorizationToken: "WX " + uni.getStorageSync("token"), }, formData: { key: ossToken.dir, OSSAccessKeyId: ossToken.accessid, policy: ossToken.policy, Signature: ossToken.signature, success_action_status: 200, }, success: (result) => { resolve(ossToken.dir); }, fail: (error) => { uni.showToast({ title: "上传报错", icon: "none", }); return; }, }); }); }, }); }); }