中扬CRM客户关系管理系统
LSH
2024-03-27 92459e3e326488acae77e068c37eb4b96eae5ebf
src/main/webapp/static/js/common.js
@@ -289,7 +289,7 @@
}
//上传文件至OSS
async function putObject(file) {
async function putObject(file, uploadProgress) {
    var client = getOssClient()
    if (client == null) {
        return false;
@@ -297,21 +297,34 @@
    var filename = dateToStr2(new Date()) + "_" + file.name
    // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    // 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
    // data对象可以自定义为file对象、Blob数据或者OSS Buffer。
    // // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    // // 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
    // // data对象可以自定义为file对象、Blob数据或者OSS Buffer。
    // const options = {
    //     meta: {temp: "demo"},
    //     mime: "json",
    //     headers: {"Content-Type": "text/plain"},
    // };
    //
    // return await client.put(filename, file, options);
    const options = {
        meta: {temp: "demo"},
        mime: "json",
        headers: {"Content-Type": "text/plain"},
        // 获取分片上传进度、断点和返回值。
        progress: (p, cpt, res) => {
            // console.log(p);
            uploadProgress(p)//回调上传进度
        },
        // 设置并发上传的分片数量。
        parallel: 4,
        // 设置分片大小。默认值为1 MB,最小值为100 KB。
        partSize: 1024 * 1024,
        // headers,
        // 自定义元数据,通过HeadObject接口可以获取Object的元数据。
        meta: {year: 2020, people: "test"},
        mime: "text/plain",
    };
    return await client.put(filename, file, options);
    // client.put(filename, file, options).then((e) => {
    //     return true;
    // }).catch((e) => {
    //     return false;
    // })
    return await client.multipartUpload(filename, file, {...options});
}
//获取OSS文件URL
@@ -323,7 +336,12 @@
    const domain = filepath.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/im)[0] + "/";//域名部分
    // 配置响应头实现通过URL访问时自动下载文件,并设置下载后的文件名。
    const filename = filepath.split(domain)[1];
    const response = {
        "content-disposition": `attachment; filename=${encodeURIComponent(
            filename
        )}`,
    };
    // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
    const url = client.signatureUrl(filename);
    const url = client.signatureUrl(filename,{response});
    return url;
}