Я пытаюсь добавить общую функцию для загрузки файла jquery blueimp в файл js, чтобы я мог использовать одну и ту же функцию для нескольких входов загрузки файлов.Я вызываю функцию как:
var fileoutput = attachfile(fileobject, ['xlsx','zip'],"tmp");
Это вызовет функцию:
function attachfile(fileobject, allowedfiletypesarray, destinationfolderpath) {
var allowedFileTypes;
allowedFileTypes = allowedfiletypesarray.join('|');
allowedFileTypes = "/\.("+allowedFileTypes+")$/i";
$(fileobject).fileupload({
add: function(e, data) {
if(data.originalFiles[0]['type'].length && !allowedFileTypes.test(data.originalFiles[0]['type'])) {
$('#fileerror').html('Not an accepted file type'); // show error message
return false;
}
data.submit();
},
url: "uploadcsv.php",
dataType: 'text',
acceptFileTypes : allowedFileTypes,
formData: {"upload_url":destinationfolderpath},
done: function (e, data) {
var fileuploadresult = data.result;
fileuploadresult = JSON.parse(fileuploadresult);
console.log(fileuploadresult);
return fileuploadresult;
},
}).prop('disabled', !$.support.fileInput)
.parent().addClass($.support.fileInput ? undefined : 'disabled');
}
Теперь проблема в том,
var fileoutput = attachfile(fileobject, ['xlsx','zip'],"tmp");
console.log(fileoutput);
Это возвращается undefined
.И я не получаю возврат от attachfile()
.console.log(fileuploadresult);
внутри attachfile()
правильно печатает данные загруженного файла.
Может кто-нибудь помочь мне решить эту проблему.Заранее спасибо.