gpt4 book ai didi

javascript - 在fineupader中保持上传队列直到第一次上传完成

转载 作者:行者123 更新时间:2023-12-03 10:50:20 25 4
gpt4 key购买 nike

我有几个文件正在使用fineuploader上传,但有两件事我想尝试做。

  1. 以某种方式对队列进行排序,以便上传的第一个文件是特定的文件类型。
  2. 上传第一个文件后,使用第一次上传返回的一些数据更改其他文件的端点和参数。

如果我在第一个文件上传后添加文件,我就可以使用此功能。我正在考虑 onsubmit 回调中的某种 promise ,该 promise 在第一次上传完成后得到解决。我只是不知道如何实现这一点。

这是我目前拥有的一些代码。

var first = true;
var returnedparam;
var uploader = new qq.FineUploader({
element: document.getElementById('fine-uploader'),
maxConnections: 1,
request: {
paramsInBody: false,
endpoint: '/endpoint1'
params: {
option:1
}
},
callbacks: {
onSubmit: function(id,name)
{

if(name.toLowerCase().indexOf('.jpg')>0 && !first)
{
//change the parameters for uploading the preview file.
if(returnedparam != '')
{
this._endpointStore.set('/endpoint2',id);
this.setParams({
option: returnedparam;
});
}

} elseif (!first) {
this._endpointStore.set('/endpoint3',id);
this.setParams({
option: returnedparam;
});
}
},
onComplete : function(id,name,obj,xhr)
{
if(first) //store a paramter from the first upload to be used for the remaining
{
returnedparam = obj.param;
first = false;
}
//do something with the file.
}
}
});

最佳答案

首先,在上传任何文件之前,将针对通过 API 或文件选择器“提交”的所有文件触发 onSubmit。因此,这对于解决问题中的第二个问题没有用。相反,您需要处理 onComplete 事件,从服务器对上传请求的响应中获取任何数据。表面上,这将包含用于后续文件的端点。有一个 response 参数传递给您的 onComplete 处理程序,其中将包含已解析的 JSON 响应。届时您可以调用the setEndpoint API method (忽略 ID 参数)更新所有后续文件的端点。

将自动上传设置为 true(默认)时,Fine Uploader 将在提交文件后立即上传文件,或者至少将其排队直到连接空闲。因此,您需要考虑在 Fine Uploader 之外处理文件选择,对文件进行排序,然后通过 the addFiles API method 按正确的顺序将它们提交到 Fine Uploader 。目前,Fine Uploader 不会以任何特定方式对提交文件的顺序进行排序(除了确保缩放图像在原始图像之前上传)。

关于javascript - 在fineupader中保持上传队列直到第一次上传完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com