2013-08-22 10 views
5

Działa to w najnowszej wersji Chrome i Firefox, jednak w IE10 otrzymuję ten błąd:IE10 SCRIPT5: Odmowa dostępu. na nowych FormData

SCRIPT5: Access is denied.

Tu jest mój urywek kodu:

$('.mlsUpload').change(function() { 
var formData = new FormData($(this).parents('form')[0]); 
}); 

Zdarza na new FormData($(this).parents('form')[0])

Zmiana jest wyświetlana: brak typu wejściowego = plik, który jest jedyną rzeczą w formularzu.

+0

Wygląda na to, że IE 10 ogranicza dostęp do lokalnej pamięci masowej, jeśli witryna nie należy do zaufanych. Czy można wyłączyć tryb chroniony i zobaczyć? – Hariprasad

+0

@Hariprasad I wyłączył tryb chroniony i nadal mam błąd. – Kyle

Odpowiedz

9

Nie jestem do końca pewien na dlaczego, ale ten kod prawdopodobnie naprawił problem i działa we wszystkich przeglądarkach.

var formData = new FormData();    
var inputFiles = $("#idOfInput").get(0); 
formData.append('file', inputFiles.files[0]); 
+1

jesteś cudem worka –

+0

Pracowałeś dla mnie i nie musiałem zmieniać wyświetlania z żadnego ani używać znacznika etykiety. –

2

IE10 ogranicza przesyłanie pola pliku, jeśli pole zawiera "display: node". Po usunięciu ekranu: żaden pierwszy fragment kodu nie powinien działać. Jednak nie jestem pewien, jak obejść to i dlaczego działa w drugim przykładzie.

+0

Dzieje się to w IE10, a nie 8. Dane wejściowe również muszą być ukryte w jakiś sposób w moim przypadku. – Kyle