được cung cấp đường dẫn của tệp như:
C: \ file.jpg
Tôi có thể lấy kích thước tệp bằng javascript như thế nào?nhận kích thước tệp trong javascript
Trả lời
Nếu nó không phải là một ứng dụng địa phương được hỗ trợ bằng JavaScript có quyền truy cập đầy đủ, bạn không thể lấy kích thước của bất kỳ tệp nào chỉ từ tên đường dẫn. Các trang web chạy javascript không có quyền truy cập vào hệ thống tệp cục bộ vì lý do bảo mật.
Bạn có thể sử dụng trình tải lên tệp có độ phân giải cao cấp như SWFUpload nếu bạn muốn hiển thị thanh tiến trình. HTML5 cũng có File API, nhưng chưa được hỗ trợ rộng rãi. Nếu người dùng chọn các tập tin cho một yếu tố input[type=file]
, bạn có thể nhận được thông tin chi tiết về các tập tin từ bộ sưu tập files
:
alert(myInp.files[0].size);
tôi nghĩ như vậy, nhưng làm thế nào một số ứng dụng web thông minh hiển thị thanh tiến trình trong khi tải lên? – Andrey
@Andrey: Các ứng dụng web khác sử dụng Java hoặc Flash. Tôi đã cập nhật câu trả lời của mình bằng một liên kết đến [SWFUpload] phổ biến (http://www.swfupload.org/). –
@Andrey Các công cụ tập lệnh khác như Flash, ActiveX, v.v. có thể truy cập vào hệ thống tệp cục bộ. Ngoài ra, một số kỹ thuật phía máy chủ có thể được sử dụng để theo dõi quá trình tải lên tệp và cung cấp thông tin đó khi javascript yêu cầu –
Bạn không thể lấy kích thước tệp của tệp cục bộ bằng javascript theo cách thông thường bằng trình duyệt web.
Nhưng nếu tập tin có thể truy cập từ một con đường từ xa, bạn có thể có thể gửi một yêu cầu HEAD sử dụng Javascript, và đọc header Content-length, tùy thuộc vào máy chủ web
Bạn có thể không phải là không có tập tin đầu vào/đầu ra trong Javascript. Xem here cho một câu hỏi tương tự được đăng.
Bạn không thể.
JavaScript không thể truy cập tệp trên máy tính cục bộ vì lý do bảo mật, thậm chí để kiểm tra kích thước của chúng.
Điều duy nhất bạn có thể làm là sử dụng JavaScript để gửi biểu mẫu với trường file
tới tập lệnh phía máy chủ, sau đó có thể đo kích thước của nó và trả lại.
Nếu bạn có thể truy cập vào hệ thống tệp của người dùng bằng javascript, hãy hình ảnh xấu có thể xảy ra.
Tuy nhiên, bạn có thể sử dụng File System Object nhưng điều này sẽ chỉ làm việc trong IE:
http://bytes.com/topic/javascript/answers/460516-check-file-size-javascript
+1 có giải pháp tuyệt vời trong câu trả lời cuối cùng – Andrey
function findSize() {
var fileInput = document.getElementById("fUpload");
try{
alert(fileInput.files[0].size); // Size returned in bytes.
}catch(e){
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
var e = objFSO.getFile(fileInput.value);
var fileSize = e.size;
alert(fileSize);
}
}
bạn có thể thêm một lời giải thích? – CraigTeegarden
Ồ, tôi đoán là bắt nếu đối với các trình duyệt không hỗ trợ cách HTML5 – GabrielBB
Để có được kích thước tập tin của các trang trên web tôi đã xây dựng một bookmarklet javascript để thực hiện lừa. Nó cảnh báo kích thước trong kb's. Thay đổi cảnh báo thành lời nhắc nếu bạn muốn sao chép các tập tin.
Đây là mã bookmarklet cho cảnh báo.
<a href="javascript:a=document.getElementsByTagName('HTML')[0].outerHTML;b=a.length/1024;c=Math.round(b);alert(c+' kb');">Doc Size</a>
Đây là mã bookmarklet cho lời nhắc.
<a href="javascript:a=document.getElementsByTagName('HTML')[0].outerHTML;b=a.length/1024;c=Math.round(b);prompt('Page Size',c+' kb');">Doc Size</a>
Nhìn thấy nó trong hành động ở http://bookmarklets.to.g0.to/filesize.php
Hãy thử thế này.
function showFileSize() {
let file = document.getElementById("file").files[0];
if(file) {
alert(file.size + " in bytes");
} else {
alert("select a file... duh");
}
}
<input type="file" id="file"/>
<button onclick="showFileSize()">show file size</button>
- 1. Nhận kích thước tệp lớn trong C
- 2. Xác nhận kích thước tải lên tệp
- 3. Nhận kích thước tệp bằng Python?
- 4. Nhận kích thước không nén của tệp .gz trong python
- 5. Xác định kích thước tệp hình ảnh + kích thước qua Javascript?
- 6. jQuery/javascript - Nhận kích thước hình ảnh trước khi tải
- 7. MPI_Recv: Nhận kích thước khác với kích thước được gửi
- 8. Ajax - Nhận kích thước tệp trước khi tải xuống
- 9. Python - Nhận kích thước tệp của đối tượng tệp từ tệp tải lên trong Flask
- 10. C++: Nhận kích thước tệp không chính xác
- 11. Kích thước tệp vỏ linux
- 12. Cách nhận thời lượng, kích thước và kích thước video trong PHP?
- 13. Nhận kích thước thư mục
- 14. Kích thước khối Hadoop và vấn đề kích thước tệp?
- 15. Tìm tệp có kích thước trong Unix
- 16. Tính kích thước tệp trong vỏ
- 17. Giảm kích thước tệp pdf
- 18. gitignore theo kích thước tệp?
- 19. Kích thước Heap JavaScript và Chrome Tăng
- 20. Giảm kích thước tệp SWF
- 21. Cách lấy kích thước tệp
- 22. C/C++ nhận được kích thước struct
- 23. Đặt kích thước Canvas sử dụng javascript
- 24. Chuyển đổi em thành px trong Javascript (và nhận kích thước phông chữ mặc định)
- 25. jquery nhận kích thước hình ảnh
- 26. Kích thước tệp tối đa và kích thước kho lưu trữ tối đa trong Git?
- 27. Kích thước tệp DLL trong bộ nhớ và kích thước trên đĩa cứng
- 28. Làm cách nào để xác định kích thước tệp trong JavaScript?
- 29. Nhận kích thước của Bitmap Android
- 30. Django xác nhận ImageField kích thước vv
http://code.google.com/p/gwtupload/ kiểm tra điều này.Họ bằng cách nào đó quản lý để hiển thị thanh tiến trình tải lên – Andrey
Bạn có máy chủ web có thể truy cập vào 'C:' không? Nếu hệ điều hành của bạn là trên 'C:', tôi khuyên bạn nên chống lại điều đó, nhưng trước tiên. – vol7ron