2016-12-23 8 views
0

バックファイルに.xlsx、.docx、および.pdfファイルが保存されています。ダウンロードコントローラーは次のようになります。スプリングコントローラ経由でダウンロードしたファイルが壊れています

ファイルを開こうとすると、Excelが破損して修復する必要があることがわかります。しかし修復処理は失敗します。

このエラーの原因は何ですか?

似たような質問がたくさんありますが、提案された解決策のどれもうまくいかないようです。

動作する唯一の「修正」は、ファイルをダウンロードするフロントエンドのリンクに「ダウンロード」属性を追加することです。しかし、残念ながら、これはIEではうまくいきません。

答えて

0

私はzipファイルをダウンロードするのと同じ問題がありました。私の解決策は最終的には私のコントローラ(https://stackoverflow.com/a/33302570/4921953参照)からバイト配列を返して、Chrome/Firefox(使用したダウンロード属性を使用したもの)とInternet Explorerのさまざまな方法でJavaScriptフロントエンドで処理します。https://stackoverflow.com/a/24354303/4921953 )。フロントエンドからサーバーにHTTPリクエストを送信するときにresponseTypeが "arraybuffer"に設定されていることを確認してください。

関連する問題