尝试调用uploadStoredFiles()方法时,我遇到了使用Fine Uploader for AWS S3的问题。一切正常,没有错误,直到我调用此方法,然后我得到一个js错误:
"Method uploadStoredFiles() does not exist on jQuery.fineUploader"
我尝试使用“.fineUploader”和“.fineUploaderS3”,结果相同。
<div class="btn btn-primary btn-block" id="sccfile">Add SCC File</div>
<div class="btn btn-primary btn-block" id="scriptfile">Add Script File</div>
<div class="btn btn-primary btn-block" id="notesfile">Add Notes File</div>
<div id='fineUploader'>
<div id="submitUploads" class="btn btn-block btn-primary">Submit</div>
</div>
<script>
$(document).ready(function () {
$('#fineUploader').fineUploaderS3({
uploaderType: 'basic',
autoUpload: false,
extraButtons: [
{ element: $('#mediafile') },
{ element: $('#sccfile') },
{ element: $('#scriptfile') },
{ element: $('#notesfile') }
],
// the remaining unrelated options omitted for brevity
})})
$('#submitUploads').click(function(){
$('#fineUploader').fineUploader('uploadStoredFiles()');
</script>
答案 0 :(得分:1)
您的代码中存在错误。 Fine Uploader的jQuery插件包装器遵循jQuery插件常见的所有约定。在没有参数的jQuery插件上调用方法时,只需将方法名称作为参数包含在内。与方法调用关联的所有参数都必须遵循以逗号分隔的参数列表中的方法名称。
例如:
$('#fineUploader').fineUploader('uploadStoredFiles');
正是由于这个原因(以及更多)我建议甚至不打扰jQuery插件包装器。 jQuery插件语法是奇怪且非直观的,而Fine Uploader的jQuery包装器并没有提供任何好处。
例如,如果没有jQuery包装器,您可以调用相同的方法:
uploader.uploadStoredFiles();