我想动态设置fine-uploader的请求端点。 例如:
$('#jquery-wrapped-fine-uploader').fineUploader({
request: {
endpoint: submitUrl
},
multiple: false,
button: $("#uploader-button"),
// etc...
});
必须已在页面中设置submitUrl且无法更改。 我想做一些更有活力的事情,比如:
request: {
endpoint: function() { ($('#submitUrlField').val() }
}
但是上面发送请求 功能%20()%20%7B%$ 20(%27#submitUrlField%27).VAL()%20}
感谢任何知道如何做的人!
答案 0 :(得分:2)
您可以使用多个点。 例如,对奇数/偶数上传使用几个端点:
callbacks: {
onUpload: function(id, name) {
var endpoint = endpoints[id % endpoints.length];
this.setEndpoint(endpoint.url, id);
this.setParams({
signature: endpoint.signature,
params: endpoint.params,
ajax: true
}, id);
}
}
答案 1 :(得分:0)
如果文件很大并且启用了分块,则无法动态更改端点url。 我的解决方案是使用事件
callbacks:{
onComplete:function(id,name,responseJSON,xhr) {
console.log('> onComplete. id=' + id);
console.log('> onComplete. name=' + name);
console.log('> onComplete. responseJSON=' + JSON.stringify(responseJSON));
console.log('> onComplete. uuid=' + responseJSON.uuid);
if (responseJSON.success)
{
// call a httpRequest with the url you want.
}
}
}
答案 2 :(得分:0)
setEndpoint
方法的一个有用示例。此代码将根据上传文件类型设置端点:
callbacks: {
onUpload: function(id, name) {
var file = this.getFile(id);
var fileType = file.type;
this.setEndpoint(endpointList[fileType], id);
}
}
您的endpointList
:
var endpointList = {
'image/png': 'url/uploadimage',
'video/mp4': 'url/uploadvideo',
'text/plain': 'url/uploadtext'
}
答案 3 :(得分:-2)
旧代码:
request: {
endpoint: function() { ($('#submitUrlField').val() }
}
|_ why need ( becasue it has not close ) match
尝试其中一个
request: {
endpoint: function() { return $('#submitUrlField').val() } // here you had `(`
}
或
request: {
endpoint: $('#submitUrlField').val()
}