Fine-Uploader blobProperties-Name选项被多次调用

时间:2016-08-23 09:14:13

标签: javascript c# asp.net-mvc azure fine-uploader

我使用了“blobProperties - > name”属性作为精细上传器,如下面的答案中所述:https://stackoverflow.com/a/36453417/6746874

应该将上传文件的名称设置为函数的结果(如果函数设置为此属性)。

所以我创建了一个被调用的函数,它从一个asp.net控制器调用一个函数,在那里创建一个GUID。

以下是我的javascript代码的代码示例:

blobProperties: {//Set the names from the files to a server generated guid
                    name: function (fileId) {
                        return new Promise(function (resolve) {
                            // retrieve file name for this file from controller
                            $.ajax({
                                type: "GET",
                                url: "/controller/action",
                                headers: { "cache-control": "no-cache" },
                                success: function (result) {
                                    uploader.setUuid(fileId, result);
                                    resolve(result);
                                },
                                failure: function (error) {
                                    alert("Failure")
                                }
                            });

                        })
                    }
                }

它通过ajax调用操作,如果成功则将当前文件设置为uuid,将名称设置为返回值。

这很好用,但前提是文件没有分块。 如果文件被分块,则多次调用该操作。对于每个块,创建一个新的Guid作为文件名和uuid。因此它进入无效状态,因为当精细上传器尝试组合块时,azure返回错误代码: 的 400 使用以下消息:指定的阻止列表无效

我的问题是这个行为是故意为每个块调用它吗?如果是,我怎么能防止每个文件被多次调用?

P.S。在链接的答案中声明它应该只被调用一次

0 个答案:

没有答案