2015-04-23 2 views
0

Я создал функцию, которая создает файл csv с помощью json. Я нашел несколько советов, чтобы иметь кнопку для загрузки файла, но у меня возникают проблемы с именем файла, например «*****. Csv». Мне особенно нужно иметь расширение «.csv», но я не мог найти темы, касающиеся этого.Как получить определенное имя файла при загрузке

Вот мой код:

function JSON2CSV() { 

    var myjson = "http://******/get_json_test.php?callback=?"; 

    $('.filter').each(function(i, obj){ 
    var input = $(obj).find("input")[0]; 
    myjson += '&'+input.name+'=' + input.value; 
    }); 

    $('.display').each(function(i,obj){ 
    myjson += '&'+$(obj).attr('table')+'|'+$(obj).attr('titre')+''; 
    }); 

    $.getJSON(myjson, function(data){ 
    var line = ''; 
    var str = ''; 
     if(data.length != 0){ 
      $.each(data[0], function(index, valeur){ //Pour chaque colonne 
       var line = ''; 
       var value = index; 
       line += value + ';'; 
       str += line; //+ '\r\n'; 
      }); 
      str = str.slice(0, -1); 
      str += '\n'; 

      $.each(data, function(i,ti){ 
       $.each(ti, function(index, valeur){ 
       var line = ''; 
       var valeur = valeur; 
       line += valeur + ';'; 
       str += line; // + '\r\n'; 
       }); 
      str = str.slice(0, -1); 
      str += '\n'; 
      }); //End each 
     window.open("data:application/str;charset=utf-8," + encodeURIComponent(str)); 
     } //End if 
    }); //End getJSON 
} //End JSON2CSV 

ли кто-то знает, что я должен написать в моем «window.open» линии, чтобы получить это?

Спасибо.

+0

Спасибо, что решить мою проблему – CocoFlouq

ответ

0

использовать этот заголовок: Content-Disposition: attachment; filename="downloaded.csv"

+0

Это JavaScript, который работает на стороне клиента. – Siguza

+0

Я вижу, я думал, что можно манипулировать заголовками по js на windows.open Вы попробовали атрибут загрузки? – yellowsir

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