如何在创建控件后使用 Uploadify 更改设置
How to change settings with Uploadify after control has already been created
我使用以下代码初始化 Uploadify:
$('#file1').uploadifive({
'buttonClass': 'upload-btn',
'uploadScript': '/Upload/',
'fileObjName': 'files',
'fileType': 'text/xml',
'formData': { 'uploadType': 'Crew' },
'onUploadComplete': function(file, data) {
var results = $.parseJSON(data);
if (results.error) {
var info = file.queueItem.find('span.fileinfo');
if (info) info.text(' - ' + results.error);
return;
}
window.location.href = '@Url.Content("~/Upload/Checkdata/")' + results.id;
}
});
这有效,但是我需要在单选复选框更改时修改 formData
属性。所以,我试过这个:
$('input[name=UploadType]:radio').change(function () {
$('#file1').uploadifive({ 'formData': this.value });
});
但是,当该代码运行时,它破坏了 Uploadify 控件(它现在不再上传到任何地方)。我猜是因为它完全 重新初始化 使用所有新设置的控件。
我怎样才能只更新这一项设置?我已经阅读了 Uploadify 文档,其中 none 提到了有关更新设置的内容;只是初始化和调用方法。谢谢!
我找到了一种解决方案,但不确定它是否是正确的处理方式(即,它可能会在未来版本的 Uploadify 中崩溃)。
基本上,您似乎可以保留对配置的引用,并随时更新该对象:
var uploadifySettings = {
'buttonClass': 'upload-btn',
'uploadScript': '/Upload/',
'fileObjName': 'files',
'fileType': 'text/xml',
'formData': { 'uploadType': 'Crew' },
'onUploadComplete': function(file, data) {
var results = $.parseJSON(data);
if (results.error) {
var info = file.queueItem.find('span.fileinfo');
if (info) info.text(' - ' + results.error);
return;
}
window.location.href = '@Url.Content("~/Upload/Checkdata/")' + results.id;
}
}
$('input[name=UploadType]:radio').change(function () {
uploadifySettings.formData.uploadType = this.value;
});
$('#file1').uploadifive(uploadifySettings);
我使用以下代码初始化 Uploadify:
$('#file1').uploadifive({
'buttonClass': 'upload-btn',
'uploadScript': '/Upload/',
'fileObjName': 'files',
'fileType': 'text/xml',
'formData': { 'uploadType': 'Crew' },
'onUploadComplete': function(file, data) {
var results = $.parseJSON(data);
if (results.error) {
var info = file.queueItem.find('span.fileinfo');
if (info) info.text(' - ' + results.error);
return;
}
window.location.href = '@Url.Content("~/Upload/Checkdata/")' + results.id;
}
});
这有效,但是我需要在单选复选框更改时修改 formData
属性。所以,我试过这个:
$('input[name=UploadType]:radio').change(function () {
$('#file1').uploadifive({ 'formData': this.value });
});
但是,当该代码运行时,它破坏了 Uploadify 控件(它现在不再上传到任何地方)。我猜是因为它完全 重新初始化 使用所有新设置的控件。
我怎样才能只更新这一项设置?我已经阅读了 Uploadify 文档,其中 none 提到了有关更新设置的内容;只是初始化和调用方法。谢谢!
我找到了一种解决方案,但不确定它是否是正确的处理方式(即,它可能会在未来版本的 Uploadify 中崩溃)。
基本上,您似乎可以保留对配置的引用,并随时更新该对象:
var uploadifySettings = {
'buttonClass': 'upload-btn',
'uploadScript': '/Upload/',
'fileObjName': 'files',
'fileType': 'text/xml',
'formData': { 'uploadType': 'Crew' },
'onUploadComplete': function(file, data) {
var results = $.parseJSON(data);
if (results.error) {
var info = file.queueItem.find('span.fileinfo');
if (info) info.text(' - ' + results.error);
return;
}
window.location.href = '@Url.Content("~/Upload/Checkdata/")' + results.id;
}
}
$('input[name=UploadType]:radio').change(function () {
uploadifySettings.formData.uploadType = this.value;
});
$('#file1').uploadifive(uploadifySettings);