1. 程式人生 > >前端上傳圖片到七牛

前端上傳圖片到七牛

uploadPic(fileArr[0], 1);//上傳圖片
// 上傳設定
var config = {
    useCdnDomain: true,
    region: null
};
/**
     * 往七牛上傳圖片
     * @param file 檔案
     * @param key 遞迴用,下個上傳檔案的索引
     */
    function uploadPic(file, key) {
        $.ajax({
            url: root + "/commonUploadOrDownload/makeTokenByZhoti.shtml",//獲取token介面
            dataType: 'json',
            success: function (data) {
                // console.log(data);
                var observable = qiniu.upload(file, uuid(), data.uptoken, {fname: file.name}, config);
                var subscription = observable.subscribe({
                    error: function (err) {
                        console.log(err);
                        qiNiuKey = [];
                    },
                    complete: function (res) {
                        qiNiuKey.push(res.key);
                        if (key < fileArr.length) {
                            uploadPic(fileArr[key], key + 1)
                        } else {
                            console.log("上傳成功");
                            submit()
                        }
                    }
                });
            },
            error: function (err) {
                alert("網路錯誤");
            }
        });
    }
function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4";  // bits 12-15 of the time_hi_and_version field to 0010
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);  // bits 6-7 of the clock_seq_hi_and_reserved to 01
    s[8] = s[13] = s[18] = s[23] = "-";
    var uu = s.join("");
    return uu;
}