我正在嘗試從blueimp上傳jquery文件。文檔說我應該能夠通過maxNumberOfFiles設置限制要上傳的文件數量。jquery文件上傳 - 如何限制上傳的文件數
然而,這似乎並不在我的情況是工作。沒有其他的如acceptFileTypes,loadImageMaxFileSize等似乎也在工作(可能我必須包含其他js文件? - 不知道真的有哪些或如何掛鉤,儘管研究相當多)。我正在使用插件的基本版本。這裏是我的代碼的外觀:
JS文件包括:
- jquery_ui_widget.js
- jquery_iframe_transport.js
- jquery_file_upload.js
- tmpl.js
的JS代碼:
$('#fileupload').fileupload
maxFileSize: 3 * 1024
minFileSize: 1
maxNumberOfFiles: maxFilesAllowed
autoUpload: false
loadImageMaxFileSize: 3 * 1024
acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i
add: (e, data) =>
console.log 'add callback triggered'
爲每個文件觸發添加回調。即使我嘗試實施我自己的解決方案來限制上傳文件的數量,我希望能夠知道何時所有的「添加」調用都完成了。換句話說,如果我必須實施解決方案,它看起來像
- 等待每個文件的添加事件。維護一個計數器來計算的附加回調每個文件
- 知道什麼時候添加的所有事件觸發是完整的ALL文件 - 如何???
- 看看有多少文件被上傳並阻止所有文件上傳如果超過最大允許數量,並提示選擇從最初的選擇要上傳的文件的一個子集。
該解決方案純粹是客戶端的圖像和圖像直接上傳到S3,但我需要防止每次交易超過3上傳。在目前的實現中,沒有任何東西可以阻止用戶選擇他/她的整個圖像文件夾,並用大量圖像搞亂S3存儲桶。亞馬遜將在策略允許的時間內採用與上傳文件數量相同的文件。
出這種亂七八糟的唯一方法似乎是借道我們的服務器的所有上傳內容,我正在試圖拼命避免由於可伸縮性/性能問題。我們是一個非常小的初創公司,目前只有極小的擴展能力。我的另一個想法是要求服務器爲每個文件上傳30秒啓用策略,這似乎相當麻煩。
任何其他的想法/替代品/建議/人試圖建議/使用的工作?