前提・実現したいこと
Angular の HttpClient を使って、C# の API に GET でアクセスし、
サーバー側で生成された CSV をダウンロードしたいです。
CSVのエンコードは「shift-JIS」です。日本語が文字化けするのは困ります。。。
発生している問題・エラーメッセージ
API は FileContentResult で CSV を返却しています。
レスポンスを受け取った画面側を、どのように書けば良いのか分かりません。
該当のソースコード
下記のような処理を書いています。
【サービスクラス】
Angular
1getCSV(): Observable<object> { 2 const apiURL = "api/getCSV"; 3 // httpはHttpClientです 4 return this.http.get(apiURL); 5 }
【呼び出し元】
Angular
1getCSV(): Observable<object> { 2this.service.getCSV() 3 .subscribe((apiResponse: any) => { 4 });
試したこと
検索したところ、ファイルを blob? に変換してダウンロードさせる方法がありましたが、responseType を指定しようとしたところ、Json に変換できないとエラーが出てしまいました。
補足情報(FW/ツールのバージョンなど)
下記の環境で開発しております。
フロント:Angular7
サーバー:C#(.NET Core 2.2)
どなたかお解りの方がいらっしゃいましたら力を貸してくださると幸いです。
よろしくお願い致します。
C# のタグは csv データの入手先が ASP.NET CORE のサイトと言うことだけの関係で、質問とは実質的に関係ないのでは?
そういうものなのですね。
タグを消しました。
何が問題なのでしょう?
文字化けが問題ということですか?
https://qiita.com/qq11dev/items/85bd26b33c1ea142bf26
マルチポストなので、ヘルプを読んで適切な手続きをとってください。
サーバーからダウンロードしたCSVを、画面側(Angular)でどう処理すればいいのかを知りたいです。
画面のボタンを押して、ユーザーにCSVの保存ダイアログが出るイメージです。
マルチポスト失礼いたしました。
片方を消しておきます。
回答2件
あなたの回答
tips
プレビュー