2013-06-08 48 views
7

Tôi có chuỗi base64, loại tệp. Loại tệp có thể là hình ảnh, văn bản hoặc thậm chí là pdf. Tôi cần hiển thị liên kết download và khi người dùng nhấp vào, nó sẽ bắt đầu tải xuống dưới dạng tệp được mong đợi.
Chính xác, máy chủ gửi cho tôi tệp dưới dạng chuỗi base64 và tôi cần lưu tệp dưới dạng tệp trên trình duyệt. Làm cách nào để lưu chuỗi base64 dưới dạng tệp trên trình duyệt? Nó sẽ là tốt nhất nếu giải pháp hoạt động trên IE9.JavaScript: lưu chuỗi base64 dưới dạng tệp

Trả lời

1

Bạn có được hiệu quả mà bạn mong muốn (trang web hiển thị liên kết, và khi nhấp chuột của người dùng, save as thoại bật lên) khi các tiêu đề phản ứng thích hợp có mặt khi trình duyệt yêu cầu các tài nguyên:

Content-Disposition : tập tin đính kèm; filename = "yourfilename.extension"

Nếu bạn nhận tệp từ máy chủ dưới dạng chuỗi base64 được nhúng trong html của mình, có lẽ bạn có thể bỏ qua nhúng và chỉ cần nhúng liên kết trực tiếp vào tệp trên máy chủ của bạn, máy chủ phân phối nó cho người dùng.

Related SO on Content-Disposition

6

Bạn có thể làm điều này từ js để tải xuống bản pdf.

Sử dụng:

document.location = 'data:application/pdf;base64,' + base64String

4

Bạn có thể sử dụng download.js.

download(base64String, filename, mimeType) 
+0

Điều đó đang được nói, điều này đã giúp tôi hầu hết mọi câu trả lời. +1 –

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