我正在使用Fine-uploader(传统版本)试图让用户将文件上传到我们自己的服务器。我现在面临的挑战是,我应该在正常上传过程之前先从服务器获取令牌。令牌将与每个上传请求/块一起发送。此令牌对于每个文件都是唯一的,因此这个"请求令牌"步骤只能在用户选择文件后启动。
我正考虑将某些东西放入" onSubmit"打回来。但是这个"请求令牌"是一个asyc调用,这意味着服务器的响应不会立即回来。我不知道该怎么做,或者这是否是这样做的好方法。
感谢您的帮助。
答案 0 :(得分:3)
onSubmit
回调接受“thenable”返回值。换句话说,您可以返回Promise
,并且Fine Uploader将在继续执行该文件的下一步之前等待,直到返回的promise被解析或拒绝。例如:
var uploader = new qq.FineUploader({
callbacks: {
onSubmit: function(id, name) {
return new Promise(function(resolve, reject) {
// Send request to server, resolve() on success
// ... reject() on failure.
// Call this.setParams(tokenData, id)
// ...to send the token w/ the upload request.
})
}
}
})