1
ファイルをダウンロードしようとしていますので、ユーザーはファイルを開くか保存することができます。これらのファイル名をクリックしてください:angularjsを使ってファイルをダウンロードする
<a href data-ng-click="getFile(file.id)">
{{file.name}}</span>
</a>
その後、これは角度のjsファイル内のメソッドを呼び出します
$scope.getFile= function ($id) {
var getInputFilePromise = fileFactory.getInputFile($id);
getFilePromise.success(function ($data) {
var blob = new Blob([$data], {type: 'text/csv'});
//code to allow downloading file
});
}
工場は、Javaコントローラから[]バイトを取得するために、次のコードを持っています
getFile: function ($id) {
return $http.get('/downloadFile?id=' + $id, {responseType:'arraybuffer'});
}
私のgetFileメソッドから分かるように、データをblobに変換しますが、これをhtmlに送信することはできません。私はここに掲載された多数のソリューションを試しましたが、誰も働いていません。
上記のコードスニペットでは、ファイルはダウンロードできますが、Excelでは開くことができません。
私は角度がついていないので、どんな助けもあります。また、FileSaver.jsの使用を避けたいです。
私も次のように試しましたが、うまくいきません。
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:attachment/csv,' + encodeURI($data);
hiddenElement.target = '_blank';
hiddenElement.download = fileName;
hiddenElement.click();
あなたはこの –