Tôi có trường tải lên tệp chấp nhận nhiều hình ảnh. Tôi cần xem trước những hình ảnh này trước khi tải chúng lên. Tôi cũng có thể đặt giới hạn cho số lượng hình ảnh tối đa được tải lên không?Tải lên nhiều hình ảnh với bản xem trước
Trả lời
Got giải pháp từ các hướng dẫn ở đây: http://www.html5rocks.com/en/tutorials/file/dndfiles/
Bạn có thể sử dụng một số plugin để tải tệp lên, hỗ trợ các chức năng như vậy. Tôi đã sử dụng cái này: http://blueimp.github.io/jQuery-File-Upload/
Tuy nhiên, tính năng này không được IE9 hỗ trợ và thấp hơn.
Bạn có thể thử Trình tải lên Ajax bởi albanx.
Nó đã có bản xem trước hình ảnh. Hình thu nhỏ hình ảnh nhỏ được hiển thị trong danh sách tải lên. Người dùng có thể xóa họ nếu họ muốn. Đó là JavaScript thuần túy và không yêu cầu bất kỳ flash nào.
Get it here
Hãy thử thế này. http://maraustria.wordpress.com/2014/04/25/multiple-select-and-preview-of-image-of-file-upload/
Html
<label for=”files”>Select multiple files: </label>
<input id=”files” type=”file” multiple/>
<output id=”result” />
Javascript
window.onload = function(){
//Check File API support
if(window.File && window.FileList && window.FileReader)
{
var filesInput = document.getElementById(“files”);
filesInput.addEventListener(“change”, function(event){
var files = event.target.files; //FileList object
var output = document.getElementById(“result”);
for(var i = 0; i< files.length; i++)
{
var file = files[i];
//Only pics
if(!file.type.match(‘image’))
continue;
var picReader = new FileReader();
picReader.addEventListener(“load”,function(event){
var picFile = event.target;
var div = document.createElement(“div”);
div.innerHTML = “<img class=’thumbnail’ src=’” + picFile.result + “‘” +
“title=’” + picFile.name + “‘/>”;
output.insertBefore(div,null);
});
//Read the image
picReader.readAsDataURL(file);
}
});
}
else
{
console.log(“Your browser does not support File API”);
}
}
Css
body{
font-family: ‘Segoe UI’;
font-size: 12pt;
}
header h1{
font-size:12pt;
color: #fff;
background-color: #1BA1E2;
padding: 20px;
}
article
{
width: 80%;
margin:auto;
margin-top:10px;
}
.thumbnail{
height: 100px;
margin: 10px;
}
window.onload = function() {
var fileUpload = document.getElementById("fileupload");
fileUpload.onchange = function() {
if (typeof (FileReader) != "undefined") {
var dvPreview = document.getElementById("dvPreview");
dvPreview.innerHTML = "";
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/;
for (var i = 0; i < fileUpload.files.length; i++) {
var file = fileUpload.files[i];
if (regex.test(file.name.toLowerCase())) {
var reader = new FileReader();
reader.onload = function (e) {
var img = document.createElement("IMG");
var textbox = document.createElement('input');
textbox.type = 'text';
textbox.name = 'tag_line[]';
textbox.placeholder = 'Enter image tag line';
img.height = "100";
img.width = "100";
img.src = e.target.result;
dvPreview.appendChild(img);
dvPreview.appendChild(textbox);
}
reader.readAsDataURL(file);
} else {
alert(file.name + " is not a valid image file.");
dvPreview.innerHTML = "";
return false;
}
}
} else {
alert("This browser does not support HTML5 FileReader.");
}
}
};
<div class="row">
<div class="form-group col-sm-6">
<input id="fileupload" type="file" multiple="multiple" />
<hr />
<b>Preview</b><br />
</div>
</div>
<div id="dvPreview">
</div>
sử dụng mã này để tải lên và xem trước nhiều hình ảnh với hộp văn bản .....
- 1. Làm thế nào để tải lên hình ảnh với hình ảnh xem trước bootstrap của Jasny?
- 2. cách xem trước hình ảnh trước khi tải lên trong các trình duyệt khác nhau
- 3. Rails 3: cách tốt nhất để xem trước hình ảnh trước khi tải lên
- 4. cách xem trước hình ảnh trước và sau khi tải lên?
- 5. Tải lên Twitter Bootstrap hình ảnh với thanh xem trước và tiến trình
- 6. tải lên nhiều hình ảnh với chuồn chuồn
- 7. Hiển thị xem trước hình ảnh trước khi tải lên trong IE9
- 8. Cách xem trước hình ảnh với TFileOpenDialog
- 9. Làm cách nào để xem trước hình ảnh đã tải lên làm hình nền của div?
- 10. Tải lên tệp Blueimp Jquery: Không hiển thị hình ảnh xem trước hình thu nhỏ
- 11. tải trước hình ảnh với hình nền css?
- 12. Thay đổi kích thước hình ảnh trước khi tải lên
- 13. Tải ảnh lên cho ngày trước
- 14. có thể xem trước hình ảnh cục bộ trước khi tải chúng lên thông qua biểu mẫu không?
- 15. Tải lên nhiều hình ảnh trong quản trị Django
- 16. Xem trước hình ảnh mà không cần tải lên máy chủ của tôi
- 17. Tải lên nhiều hình ảnh thông qua Tumblr API
- 18. Tải hình ảnh xem trước QuickLook cho tệp
- 19. API Tumblr - cách tải nhiều hình ảnh lên một Photoet
- 20. Tải lên và lưu trữ hình ảnh
- 21. html5 Tải lên hình ảnh
- 22. Tải hình ảnh lên đường ray
- 23. Trước khi tải hình ảnh
- 24. tải trước hình ảnh CSS ẩn
- 25. hình ảnh nhiều + lĩnh vực văn bản tải lên trong ASP.NET MVC
- 26. Cách tải lên tệp (hình ảnh) với selen, python
- 27. Tôi có thể tải lên hình ảnh và văn bản bằng UrlEncodedFormEntity cho nhiều phần không?
- 28. Django với jquery-tinymce tải lên hình ảnh plugin
- 29. ghi đè lên tệp trước đó trong khi tải lên hình ảnh trong mã vạch
- 30. WISiWYG với hình ảnh tải lên: Cách Django
Tôi không thể có thứ gì đơn giản như thế này hơn là tải xuống toàn bộ plugin ?? http://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded –