2012-06-30 31 views
6

Tôi muốn hiển thị hình ảnh trước khi tải lên.Tôi đã thử mã sau nhưng nó chỉ hoạt động trong firefox.but tôi cần phải làm cho nó hoạt động trong IE.Có bất kỳ một gợi ý nào cho tôi tốt nhất giải pháp cho this.I đang đưa ra mã của tôi dưới đây có thể bất kỳ một con số ra nơi tôi đã đi tôi googled gần một toàn day.But couldnt tìm thấy giải pháp của tôi đây là mã của tôiHiển thị xem trước hình ảnh trước khi tải lên trong IE9

enter code here 

function loadname(img, previewName) { 
     var isIE = (navigator.appName == "Microsoft Internet Explorer"); 
     var path = img.value; 
     var ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase(); 
     if (ext == "gif" || ext == "jpeg" || ext == "jpg" || ext == "png") { 
      if (isIE) { 
       alert(path); 
       $('#' + previewName).attr('src', path); 
      } else { 
       if (img.files[0]) { 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
         $('#' + previewName).attr('src', e.target.result); 
        } 
        reader.readAsDataURL(img.files[0]); 
       } 
      } 
     } 
    } 

html của tôi là

<body><form method="post" > 
<input type="file" class="file" onchange="loadname(this,'previewimg')" id="file" /><img src="about:blank" name="previewimg" id="previewimg" alt="" style="width:2in; height:2in"/> 


</form> 

Trả lời

6

Vì lý do bảo mật IE9 không suppo rt truy cập các tập tin trên máy khách, đó là lý do tại sao bạn không nhìn thấy bất kỳ bản xem trước nào. Bạn sẽ cần phải tải hình ảnh lên máy chủ của bạn và sau đó hiển thị nó.

XEM chim

Một cách có thể là về tải lên, hiển thị một thanh tiến trình trong khi sử dụng ajax để lưu các tập tin vào một thư mục tạm thời trên máy chủ của bạn với tên hình ảnh như một ID tạm thời và lưu trữ ID nó trong cơ sở dữ liệu (để bạn có thể xóa nó sau này) và sau đó hiển thị nó trong điều khiển hình ảnh. Nếu bạn cần xóa tập tin sau đó, chỉ cần xóa nó bằng cách sử dụng ID hoặc nếu bạn cần nó lưu nó, hãy di chuyển nó vào thư mục hình ảnh của bạn.

+0

Bạn có thể vui lòng cung cấp cho tôi mẫu về cách thực hiện phía máy chủ này không @Ashwin Singh – SahithiPinisetty

+0

Bạn cần tập lệnh phía máy chủ để thực hiện việc này. –

Các vấn đề liên quan