ios中 worker 上传文件无法监听上传进度?
发布于 5 年前 作者 xia58 10059 次浏览 来自 官方Issues
// workers/request/upload.js
const util = require("./util")
const config = require("./config")
const createSign = function (time{
    var key = config.key;
    return util.base64.encode(util.md5(time + key + time))
};
const upload = function (data{
    var time = parseInt(Date.now() / 1000);
    var url = data.data;
    let uploadTask = worker.uploadFile({
        filePath: url.url,
        name: 'file',
        header: {
            "timestamp": time,
            "sign": createSign(time.toString()),
        },
        url: config.api_url + 'common/upload',
        success(res) {
            var result = JSON.parse(res.data);
            worker.postMessage({
                type'upload',
                index: data.index,
                ...result
            })
            worker.postMessage({
                type'progress',
                index: data.index,
                progress: 100
            })
        },
        timeout: 0,
        fail(err) {
            worker.postMessage({
                type'upload',
                code: 1,
                index: data.index,
                msg: '上传失败'
            })
        }
    })

    uploadTask.onProgressUpdate(function (res{
        console.log(res) // ios无法打印
        worker.postMessage({
            type'progress',
            index: data.index,
            progress: res.progress
        })
        if (res.progress == 100) {
            uploadTask.offProgressUpdate()
        }
    })
}

worker.onMessage(data => {
    upload(data)
})
1 回复
回到顶部