2016-09-06 4 views
2

次のコードでは、ファイルの出力形式をoutput.csvに変更するとファイルが自動的にダウンロードされますが、出力形式をoutput.txtに変更するとファイルがbrowser.Howに表示されますcsvファイルを使用すると、「アプリケーション/ JSON」を使用しない理由サイドノート、上の同じコードdjangoから自動的にtxtファイルをダウンロードします

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:ダウンロードするCSVファイルのContent-Dispositionヘッダーを送信しなくてもContent-Dispositionヘッダー – Anentropic

+0

を送信する必要があります。どのようにtxtファイルが異なるのですか – Rajeev

答えて

0

のためのtxtファイルに問題が何であるかをダウンロードなっているので、自動にoutput.txtとファイル

をダウンロード.jsonではなく.txtファイルのために?

ブラウザがユーザーの設定に応じて動作するため、サーバー側で特定のファイルやコンテンツの種類によって異なるブラウザを制御することは困難です。ブラウザで開く、保存ダイアログを開く、サードパーティのプログラムで開くなど

、プラグインで扱うあなたはHTML5のダウンロード属性試みることができる:http://www.w3schools.com/TAgs/att_a_download.asp

他の解決方法をここで提案:[Djangoのファイルをダウンロードする]のForce to open "Save As..." popup open at text link click for pdf in HTML

関連する問題