0

aws .net sdk を使用して docx、xlsx、または pptx を Amazon S3 にアップロードすると、ファイルが正常にアップロードされ、問題なく S3 からファイルを直接表示できます。しかし、C# を使用して ASP.net でファイルをダウンロードすると、ファイルを開くときに警告メッセージ (以下を参照) が表示されます。

「Excel で test.xlsx に読み取り不能なコンテンツが見つかりました。このブックのコンテンツを復元しますか?」[はい] をクリックすると、ドキュメント内のすべてのコンテンツを表示できます。

同様に、.docx ファイルについても警告メッセージが表示されます。

これは私が使用しているC#コードです:

Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
Response.OutputStream.Write(Content, 0, Content.Length);
Response.Flush();

HttpContext.Current.ApplicationInstance.CompleteRequest();

更新: Windows フォーム アプリでファイルをダウンロードすると、正常に動作し、問題は Web アプリのみにあります。

私は何を間違っていますか?

助けてください...

4

2 に答える 2

0

がから作成された場合Contentは、呼び出していることを確認し、取得しないようにしてください。を使用すると、最後に余分なバイトが発生する可能性がありますが、これはおそらく Office ファイル形式では好ましくありません。あなたが試した他のファイルタイプは、最終的に予期していなかった余分なデータに対してより寛容である可能性があります.byte[]MemoryStream.ToArray().GetBuffer().GetBuffer()

于 2013-05-22T01:12:51.617 に答える