2016-09-06 2 views
2

В следующем коде, если я изменяю формат вывода файла на output.csv, файл автоматически загружается, но если я изменю формат на output.txt, файлы будут отображаться в браузере. для автоматической загрузки файла output.txtскачать txt файл автоматически из django

Поскольку CSV-файл становится загруженным какими проблемы с текстовым файлом для того же код

def downloadcsv(request): 
     try: 
      response = {} 
      output = fq_name+"/"+ "output.txt" 
      os.system(cmd) 
      logger.debug(file_name) 
      response.update({'status':0,'message': 'Success','file_name' : output}) 
     except Exception as e: 
      response['message'] = "Exception while processing request" 
      response['status'] = 2 
      logger.exception(e) 
     return HttpResponse(JsonResponse(response), content_type="application/json") 

$.post("/reports/downloadcsv/", snddata, 
     function callbackHandler(data, textstatus) 
     { 
      if (data.status == 0) 
      { 
       document.location.href = data.file_name; 
       //document.getElementById('my_iframe').src = data.file_name; 
      } 
      else if (data.status == 1 || data.status == 2) 
      { 
       $('#loading').hide(); 
       alert('Error while processing data'); 
      } 
      $('#loading').hide(); 
     }, 
     "json" 
     ); 
+2

Возможный дубликат [Джанго скачать файл] (http://stackoverflow.com/questions/36392510/django-download-a-file) – Sayse

+0

dupl icate: вам нужно отправить заголовок Content-Disposition – Anentropic

+0

, даже если я не отправлю заголовок Content-Disposition для файла csv, он загружается, как txt-файл отличается в настоящее время – Rajeev

ответ

0

на стороне записки, почему вы используете «приложение/JSON» для файла .txt, а не для .json?

Трудно надежно контролировать, что разные браузеры делают с определенным файлом или типом контента на стороне сервера, поскольку браузер ведет себя в соответствии с предпочтениями пользователя: открыть в браузере, открыть диалог «Сохранить как», открыть в сторонней программе , ручка с плагином и т.д.

Вы можете попробовать HTML5 скачать Атрибут: http://www.w3schools.com/TAgs/att_a_download.asp

Другие решения, предложенные здесь: Force to open "Save As..." popup open at text link click for pdf in HTML

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