2014-05-25 12 views
7

Tôi đang sử dụng Javascript để tạo tệp CSV để người dùng tải xuống.không thể chỉ định tên của tệp tải xuống bằng cách sử dụng Javascript

Cho đến ngày 22 tháng 5, Chrome vẫn tải xuống tệp có tên tôi đã chỉ định. Tuy nhiên, hôm nay tôi thấy rằng các tệp được tải xuống có tên "tải xuống" và không có phần mở rộng .csv.

Sự cố này không tồn tại trong Firefox!

Đây là một fiddle với mẫu javascript:

var A = [['n','sqrt(n)']]; // initialize array of rows with header row as 1st item 
for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) } 
var csvRows = []; 
for(var i=0,l=A.length; i<l; ++i){ 
    csvRows.push(A[i].join(',')); // unquoted CSV row 
} 
var csvString = csvRows.join("\n"); 

var a = document.createElement('a'); 
a.href  = 'data:text/csv;charset=utf-8;base64,' + window.btoa(csvString); 
a.target = '_blank'; 
a.download = 'myFile.csv'; 
document.body.appendChild(a); 
a.click(); 
+0

Thật kỳ lạ ... Lần cuối cùng tôi thử tính năng này cũng hoạt động tốt trong Chrome. Tôi sẽ có một cái nhìn tại sao điều này đang xảy ra. – Joeytje50

Trả lời

6

Thật tuyệt! Đây là một hồi quy.

Tôi vừa tạo một fiddle khác và nộp Chrome bug.

Nếu bạn quan tâm, hãy gắn dấu sao vào trình theo dõi lỗi.

<a href="/" download="my-downloaded-file.html" target="_blank">Click here</a> 

EDIT: Nó trông giống như nó phụ thuộc vào địa chỉ URL. URL tuyệt đối hoạt động, cũng như objects URLs (theo https://code.google.com/p/chromium/issues/detail?id=376197).

+1

Báo cáo lỗi không hoàn toàn chính xác. [chỉ dữ liệu-URI không hoạt động nữa] (http://jsfiddle.net/Cf48L/). – Joeytje50

+0

Tôi xin lỗi, tôi lấy lại (cũng đã xóa bài đăng trên diễn đàn của Google). Tôi chắc rằng tôi phải nhìn vào một thứ gì đó không đúng, nhưng tôi nghĩ nó đã hoạt động. Tôi không có ý tưởng gì nếu tôi vừa mới đi đến đó (có lẽ) hoặc nếu nó là thứ gì đó khác, nhưng bạn nói đúng. – Joeytje50

+0

vì vậy ... đây là lỗi trong bản cập nhật crom phải không? – Koshien

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