9

Tôi có đoạn code sau mà trình bày cho người dùng một bản xem trước của hình ảnh họ đang cố gắng để tải lên và hoạt động thực sự tốt trong FF:không nao núng Javascript Hình ảnh Xem trước

var img = document.createElement('img'); 
img.src = $('#imageUploader').get(0).files[0].getAsDataURL(); 

Vấn đề là, getAsDataURL() chỉ hoạt động trong FF. Có điều gì tương tự/giải pháp cho loại chức năng này trong Chrome (cụ thể) không?

+0

để câu trả lời là không? – Jason

+0

khá nhiều. Bạn sẽ cần sử dụng bánh răng, flash hoặc java. Trong IE6 bạn chỉ có thể nhận được giá trị của tập tin tải lên và sử dụng "tập tin: /// ..." để hiển thị xem trước, Nhưng tôi nghĩ rằng họ 86'd rằng trong ie7. –

+0

tôi không tin bạn. ai đó phải biết một cách không chớp nhoáng. – Jason

Trả lời

2

Nếu trình duyệt không hỗ trợ getAsDataURL bạn có thể đảm bảo rằng đầu vào tệp thay vào đó sử dụng sốcủa Gears (cuộn xuống) để đọc tệp do người dùng chọn. Google không còn hoạt động trên Gears nữa, nhưng nó sẽ hoạt động trong Chrome, ít nhất cho đến khi getAsDataURL() được triển khai.

EDIT: Câu trả lời đã thay đổi hữu ích hơn.

0

IE chưa hỗ trợ API tệp. Nhưng dù sao, bạn cần phải sử dụng một FileReader để đọc một tập tin. Ngoài ra, các tập tin không phải là tên tập tin của nó (tên biến của bạn là một chút mơ hồ).

file = fileObj.files[0]; 
var fr = new FileReader; 
fr.onloadend = changeimg; 
fr.readAsDataURL(file) 
+0

Nhưng, eh, câu hỏi không phải là về IE, đó là về Chrome. (Câu hỏi này cũng thực sự cũ - mã đó sẽ hoạt động trong phiên bản Chrome hiện tại). –

+0

tôi biết mã này hoạt động trong chrome & ff –