蘋果已經改變了它管理iWork文件的方式。這些文件現在是一個包含內容非常像他們的應用程序。我需要創建一個可以接收大量文件的上傳表單。主要是圖像,但也有一些頁面和數字。丟棄的文件最多可以編號爲15,並將使用PHP對服務器端進行排序。這已經建成。如何上傳iWork Pages 5.2文件。
我的問題是。
我該如何獲取要上傳的頁面文件?到目前爲止,我已經嘗試了很多預製解決方案。
我也一直在從頭開始建設。 「dataTransfer」不喜歡它,它說它是一個目錄。 的FileReader看到它,但是當我嘗試做以下
for (var i = 0; i < items.length; ++i) {
var entry = items[i].type;
if (entry == "image/png" || entry.type == "image/jpg" || entry.type == "image/jpeg") {
formData.append("file" + i , items[i]);
} else {
var fileReader = new FileReader();
var binary = fileReader.readAsBinaryString(items[i]);
var blob = new Blob([binary], {type: blob});
formData.append("file" + i , blob);
則返回undefined並彈出以下錯誤"failed to load resource blob:http://localhost/<RANDOM BLOB STRING HERE>"
當我解碼團塊服務器端,勿庸置疑我得到瀏覽次數大小,使文件的永不去。
我真的只想把所有的文件放到服務器上的一個文件夾中。我甚至不介意我是否必須發送每個文件的服務器請求,儘可能低效。
我也嘗試了base64編碼,並再次得到類似的結果。 我也嘗試過XHR.response「blob」方法。在每種情況下,我都沒有收到我的文件,或者收到損壞的版本。
攻擊這個的最好方法是什麼?
同意這是一種痛苦,但我受它的約束。並且在上傳之前在用戶工作流中添加一個壓縮步驟也不是一個選項。必須有一種方法來獲得這個文件服務器端。 –
@GlennHolland如果這是一個內部工具(並且安全性不是很大的擔憂),那麼可能需要上傳整個目錄(有一些Javascript工具)並將其壓縮到服務器上? – Jason