Tôi muốn tạo tệp văn bản trong javascript động, sau đó cung cấp tệp này để tải xuống. Hiện nay tôi có thể làm việc này ở một mức độ với một trong các giải pháp sau:Làm cách nào để tạo tệp và cung cấp tệp để tải xuống bằng javascript thuần túy?
content = "abc123";
document.location = "data:text/octet-stream," + encodeURIComponent(content);
HOẶC
content = "abc123";
var bb = new BlobBuilder();
bb.append(content);
var blob = bb.getBlob();
blob = blob.slice(0, blob.size, 'text/octet-stream');
var fr = new FileReader();
fr.onload = function() {document.location = this.result;}
fr.readAsDataURL(blob);
Tuy nhiên, Cả hai giải pháp, khi tải hộp xuất hiện, chỉ sẽ cung cấp một tên tập tin mặc định của 'tải xuống' trong lưu dưới dạng đối thoại.
Câu hỏi của tôi là về cơ bản, làm thế nào tôi có thể thay đổi điều này để một tên tập tin cụ thể ví dụ 'readme.txt' hoặc 'scene.obj'
Cũng lưu ý các kiểu dữ liệu trước đây 'text/plain' tuy nhiên nếu điều này được sử dụng, tài liệu sẽ chuyển sang tài liệu văn bản mới thay vì cung cấp tài liệu để tải xuống (dưới dạng văn bản/octet-stream có vẻ như đang thực hiện).
Tôi không muốn có giải pháp flash, chỉ nên có javascript/html5 đề xuất.
Chúc mừng, Josh
thể trùng lặp của [Có cách nào để chỉ định tên tệp được đề xuất khi sử dụng dữ liệu: URI không?] (http://stackoverflow.com/questions/283956/is-there-any-way-to-specify-a-suggested-filename- khi sử dụng-dữ liệu-uri) –
Điều này có vẻ trùng lặp với liên kết được đề xuất, không chắc chắn lý do tại sao tôi không tìm thấy nó khi tôi tìm kiếm. Những người muốn có câu trả lời cho câu hỏi này nên theo liên kết. –