、ファイルをダウンロードしようとしています。その後、VB.Netは、だから私の問題はこれです、私は次のコードを持っているだけで、ファイルの内容を取得
<HttpGet>
Function downloadExtract(ByVal id As Integer, ByVal formatId As String)
Dim path = AppDomain.CurrentDomain.BaseDirectory + "/app_data/extracts/" + id.ToString + ".csv"
Dim file = New FileInfo(path)
If (file.Exists) Then
Response.ClearHeaders()
Response.ClearContent()
Response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", file.Name))
Response.AddHeader("Content-Length", file.Length.ToString)
Response.ContentType = "application/x-download"
Response.TransmitFile(file.FullName)
Response.End()
Else
Return Nothing
End If
End Function
が今まで私はこれを言うことができるように、ファイルを見つけるべきであるとし、存在する場合、いくつかの応答ヘッダーを設定し、ファイルをチャックします。
この完全に同じコードは、プロジェクトのどこかで上記を完璧に行い、私にはこのファイルをダウンロードさせてもらうことができますが、今はまったく何もしていないような問題があります。
私のブラウザでのdevコンソールの確認これを処理するコントローラへのAjaxリクエストが200を返し、すべてがうまくいきます。成功した要求と何もしない間に見ることができる唯一の違いは、成功した人は応答データを表示することはできないと言いますが、そこに座っているのは親指です。応答データはファイルの内容であり、なぜこれを行うのかわかりません。
私は一日の最高の部分のためにこれに私の髪を裂いてきた今、どんな助けも大いに感謝されるでしょう!
私はDEVコンソールのカップルより多くの違いを気づいた掲示以来、
仕事が言う一つのタイプ:ドキュメントとイニシエータ:その他
ないものが言うタイプ:XHRとイニシエータ:jqueryの - 1.9.1.js:8526
関連の関数を呼び出すJSファイル内のコードは次のとおりです。
ワーキング:
self.getExtract = function (outputId) {
$.ajax({
url: window.location + "/DownloadExtract",
data: {id: outputId}
});
};
に動作していない:
self.downloadFile = function (id) {
$.ajax({
url: window.location + "/downloadExtract",
data: {id: self.extractId, formatId: self.format}
});
};
そして、それはvbhtmlファイル内のリンクがあるに違います場合:
ワーキング:
<td><a href="/ListExtracts/DownloadExtract?id={{extract.id}}">Download</a></td>
動作しない:
<a target="_self" href="" ng-click="runExtract.downloadFile()"><i class="icon-download"> Download Extract</i>
を