0
var data = new FormData(document.getElementById("uploadform"));
$.each($('#file')[0].files, function(i, file) {
data.append('file-'+i, file, this.name);
});
該代碼適用於Chromium 26,在Chrome中,但沒有在Firefox ...所以這顯然是它在Firefox中陷入困境的地方。Javascript FormData函數適用於Chrome和Opera但不適用於Firefox
我也在Firefox 24上試過它 - 同樣的問題。我知道用在Firefox上運行的代碼 - 一箇舊版本比21
這細微的變化,只是留下過幾個參數,使我有同樣的結果:
var data = new FormData();
$.each($('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
我只是不知道這是怎麼回事,因爲Mozilla文檔顯示,這是支持的,我做的是正確的。
下面的代碼的Ajax調用部分,如果有人好奇,(但這不是問題 - 它的市場影響了按我的警報檢查上面的代碼):
$.ajax({
url: 'upload.php',
data: data,
contentType: false,
processData: false,
cache: false,
type: 'POST',
success: function(data){ }
任何人有任何類似的問題,或者有什麼可以看到的地方?
我嘗試了上述警告。它沒有在Chromium或Firefox中出現。我只在舊筆記本電腦上安裝了IE 9而不是10.從我所瞭解的FormData在IE 9或更低版本中不支持。當「upload.php」需要讀取已經上傳的文件時,唯一的控制檯錯誤 - 錯誤是由於之前已經使用Chromium上載的每個文件上的「損壞或截斷文件」的結果。我會下載歌劇,看看它會發生什麼。我曾經擁有它,直到我在我的主筆記本電腦上重新安裝debian。 –
我剛剛在Opera中試過,它的工作原理。所以它適用於Chromium和Opera,而不是Firefox。 (在我的本地LAMP設置和Linode.com上的遠程LAMP上的結果是一樣的......以防萬一有人想知道服務器或任何東西)。任何人都知道Firefox最近是否有任何變化,因爲我知道我的腳本幾個月前曾在Firefox中工作過。謝謝你的幫助。 –
我剛剛在Debian上嘗試Iceweasel(Firefox 10),並且遇到與Firefox 21和Firefox 24相同的問題 - 不起作用。我可以發誓,這些文件腳本用於在Firefox中工作。我不知道。 –