2013-12-06 5 views
3

Я создаю контент из моего ответа json на стороне клиента для отображения в таблице html. У меня также есть кнопка загрузки, которая при нажатии должна сохранять файл на локальном диске. Я создаю csvContent из одного и того же ответа json на лету.Функция загрузки браузера с помощью браузера

код:

<a class="download-page" href="#" onClick="downloadPage();">Download</a> 

function downloadPage() { 
    window.location.href = 'data:text/csv;charset=UTF-8,'+ encodeURIComponent(csv); 
    //window.location.href = "data:text/csv;charset=utf-8," + escape(csv)); 
    //window.open("data:text/csv;charset=utf-8," + encodeURI(csv)) 
} 

Это работает только в хроме 10. Некоторые версии браузера не поддерживает это вообще. IE - большая проблема. Но большинство моих пользователей используют IE 9 и Fire fox. Есть ли кросс-браузерные функции для достижения этого.

Образец CSV данные:

"Testcase Reports for : jumashan\r\n 
Total Unique Stimuli : 1\r\n 
Total execution time : 0 Days 0 hours 16 minutes\r\n 

Testcase Name, Count (Pass/Fail/Error/Block), Version Number, Execution Time(HH:MM:SS), 
INIT-CHECK,2(0/0/0/2) ,0,0:16:28, 

Testcase Reports for : prabhaa\r\n 
Total Unique Stimuli : 1\r\n 
Total execution time : 0 Days 1 hours 23 minutes\r\n" 
+0

Что-то вроде этого? http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-not-through-server – NinjaFart

+0

@NinjaFart Я уже пробовал это, но его не работает :( –

+0

Не могли бы вы разместить некоторые примеры CSV-данных? – NinjaFart

ответ

-1

Вы можете легко получить содержание, построив его в функции самостоятельно.

Для его загрузки только Chrome позволяет указать имя файла.

Другие веб-браузеры, такие как Firefox не предлагают эту функцию еще и если вы хотите, чтобы загрузить якорь протолкнуть скачать вы можете вызвать следующую функцию (используется в предыдущем проекте):

window.open("data:application/octet-stream;charset=utf-8,"+escape(data)); 

(Примечание тип MIME октетного потока)

Переменная «data» содержит данные CSV, которые вы хотите вывести.

Надеюсь, это поможет.

Смежные вопросы