Làm cách nào để buộc tải xuống một tệp bằng JavaScript?
Một trong những câu hỏi tôi được hỏi tương đối thường xuyên là làm thế nào để buộc một tệp tải xuống thay vì mở trực tiếp trong trình duyệt Show
Ví dụ: giả sử bạn có biên nhận PDF hoặc tệp MP3 mà bạn muốn cho phép mọi người tải xuống. Bạn có thể trỏ nó tới tệp đó bằng một liên kết
Trong hầu hết các trình duyệt, nhấp vào liên kết sẽ mở tệp trực tiếp trong trình duyệt Tuy nhiên, nếu bạn thêm thuộc tính
Thuộc tính Trong các phiên bản Chrome mới nhất, bạn không thể tải xuống các tệp có nguồn gốc chéo (chúng phải được lưu trữ trên cùng một miền) Để tải xuống bất kỳ loại tệp nào theo cách lập trình trong JavaScript, chúng tôi có thể sử dụng một neo vô hình với thuộc tính Các neo có thuộc tính tải xuốngĐã sao chép vào khay nhớ tạm. Sao chép Bằng cách đặt giá trị cho thuộc tính Tất nhiên, khi chúng tôi muốn tạo tệp để tải xuống nhanh chóng theo chương trình, chúng tôi không có sẵn tệp đó trên máy chủ, vì vậy không có URL để trỏ neo tới. Để tạo và tải xuống tệp theo chương trình, chúng tôi có thể sử dụng URL dữ liệu URL dữ liệu là gìURL dữ liệu là những URL có tiền tố là sơ đồ 0 cho phép chúng tôi đưa các tệp nhỏ vào trong tài liệu. Chúng tôi sẽ sử dụng phương pháp này để tạo tài nguyên theo chương trình mà chúng tôi muốn tải xuống, trong ví dụ này là tệp JSON chứa dữ liệu cần thiết. URL dữ liệu có định dạng sau Định dạng của URL dữ liệuĐã sao chép vào khay nhớ tạm. Sao chép
Điều này để lại cho chúng tôi những điều sau đây cho URL dữ liệu URI dữ liệu cần thiết để xuất dữ liệu ở định dạng JSONĐã sao chép vào khay nhớ tạm. Sao chép Tìm cách để cải thiện kỹ năng của bạn? Tự động tạo liên kết tải xuốngĐể sử dụng URL dữ liệu của chúng tôi, chúng tôi cũng cần tự động tạo một liên kết. Đối với điều này, chúng ta có thể sử dụng 7. Điều này sẽ tạo ra một mỏ neo cho chúng tôi, trên đó chúng tôi có thể đặt các thuộc tính href và download tương ứng, sau đó nhấp vào liên kết theo chương trình để kích hoạt tải xuống. Với mọi thứ được kết hợp, chúng ta có thể sử dụng chức năng sau để tải xuống tệp JSON được tạo theo chương trình tải xuống. js Tạo chức năng tải xuống để tải tệp xuốngĐã sao chép vào khay nhớ tạm. Sao chép Hàm này chấp nhận một đối tượng JavaScript sẽ được chuyển đổi thành JSON. Nó cũng có thể tùy chọn chấp nhận tên tệp làm tham số thứ hai. Khi liên kết được tạo, chúng ta có thể đặt các thuộc tính thích hợp cho liên kết đó bằng phương thức 0. Chúng tôi cũng muốn đặt thuộc tính 1 của nó thành 2, để ngăn liên kết hiển thị ở bất kỳ đâu trên trangSau khi tất cả các thuộc tính cần thiết có trên liên kết, chúng ta có thể nối phần tử đó vào tài liệu, sử dụng phương thức 3 và kích hoạt nhấp chuột vào liên kết để bắt đầu tải xuống. Sau khi bắt đầu tải xuống tài nguyên, chúng tôi có thể xóa liên kết khỏi tài liệu bằng phương pháp 4Cách tải xuống các đốm màu trong JavaScriptTuy nhiên, phương pháp trên có hạn chế. Nó không hoạt động với các tệp không dựa trên văn bản và mặc dù chúng tôi có thể thay đổi loại MIME nhưng nó cũng không hoạt động với các tệp được lưu trữ ở nơi khác. Để giải quyết vấn đề này, hãy giới thiệu cho bạn các đốm màu Sử dụng các đốm màu là một cách tiếp cận chung hơn để tải xuống các tệp nhị phân hoặc các tệp không được tạo theo chương trình nhưng được lưu trữ ở nơi khác. Đối với điều này, chúng tôi cần sử dụng API 5 kết hợp với 6 để tạo URL chính xác cho blob, sau đó sử dụng URL này cho href . Dựa trên điều này, mã của chúng tôi thay đổi như sau Tạo chức năng tải xuống để tải xuống các đốm màuĐã sao chép vào khay nhớ tạm. Sao chép Trong ví dụ trên, chúng tôi đang sử dụng 8 để tìm nạp tài nguyên tại URL được cung cấp. Sau đó, chúng ta có thể chuyển đổi kết quả trả về bằng cách sử dụng phương thức 9 trên đó. Cuối cùng, sau đó chúng tôi tạo URL blob thích hợp bằng cách sử dụng 6 dự kiến một blob sẽ được chuyển cho nó Giá trị của blob và URL blobĐã sao chép vào khay nhớ tạm. Sao chép Tìm cách để cải thiện kỹ năng của bạn? Tóm lại làTóm lại, chúng tôi có thể sử dụng URL dữ liệu để tải xuống các tệp được tạo động một cách nhanh chóng hoặc sử dụng API 5 với 6 để tải xuống các đốm màu và tệp từ các miền khác. Bạn cũng cần đọc lại các tệp bằng JavaScript và theo dõi tiến trình của chúng? Cách mở bất kỳ tệp nào trong Javascript bằng thanh tiến trìnhSử dụng nghệ thuật văn bản ASCII trong thanh tìm kiếm của bạnTìm hiểu cách bạn có thể mở và đọc bất kỳ tệp nào bằng JavaScript, đồng thời hiển thị tiến trình đọc bằng nghệ thuật văn bản ASCII trong thanh tìm kiếm của bạnLàm cách nào để kích hoạt tải xuống tệp trong JavaScript?display = "không"; . href = URL. createObjectURL(tệp); . tải xuống = tệp. name; // Nó cần được thêm vào DOM để có thể nhấp vào tài liệu.
Làm cách nào để kích hoạt tải xuống tệp khi nhấp vào nút HTML hoặc JavaScript?Để kích hoạt tải xuống tệp khi nhấp vào nút, chúng tôi sẽ sử dụng chức năng tùy chỉnh hoặc thuộc tính tải xuống HTML 5 . Thuộc tính tải xuống chỉ cần sử dụng thẻ neo để chuẩn bị vị trí của tệp cần tải xuống.
Làm cách nào để tải xuống tệp văn bản trong JavaScript?Thuật toán . Step 1 − Create HTML element.. Bước 2 - Nhận nội dung để thêm vào tệp văn bản Bước 3 - Tạo một đối tượng Blob của nội dung Step 4 − In the href attribute of the tag, add the blog object URL.. Step 5 − Add the default file name as a value of the 'download' attribute of tag.. Làm cách nào để tải xuống tệp từ URL trong JavaScript?Phương pháp này đặc biệt hữu ích cho các URL tệp được tạo động. . const download = (đường dẫn, tên tệp) => { // Tạo một liên kết mới const anchor = document. createElement('a'); . . tìm nạp ('https. // yêu cầu. trong/api/người dùng'). . // Chuyển đổi JSON thành chuỗi const data = JSON. . const url = URL. . tải xuống (url, 'người dùng. . |