私は初めての投稿なので、投稿テクニックについての無知を許してください。私は何時間も探していましたが、これに対する答えが見つからないようです。部屋の賢い人たちが助けてくれることを願っています? 複数のクラウド サービス API に接続する .net MVC 4 で記述された Web アプリケーションがあります。その後、ユーザーはこの Web アプリからファイルをダウンロードできます。Android を除くすべてのプラットフォームでこれを動作させることができました。Android でファイルをダウンロードしようとすると、ハングし、最終的に失敗します。ダウンロード中はファイル名がありますが、<unknown> と表示されます。誰かがこれに対する解決策を持っていますか? 私が使用しているコードは次のとおりです。
if (String.IsNullOrEmpty(type))
{
type = "application/octet-stream";
}
byte[] file = openDropBoxFile(path, filename);
if (file != null)
{
return File(file, type, filename);
}
Slack Shot に感謝します。悲しいことに、Android での動作は変わりませんでした。ソリューションを間違って実装した場合に備えて、コードを次のように変更しました。
if (String.IsNullOrEmpty(type))
{
type = "application/octet-stream";
}
byte[] file = openDropBoxFile(path, filename);
if (file != null)
{
var cd = new System.Net.Mime.ContentDisposition
{
FileName = filename,
Inline = false,
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(file, type);
}
この問題に関する詳細情報。Android 版 Firefox ではダウンロードできましたが、ネイティブ ブラウザや Android 版 Google Chrome では動作しませんでした。
最後の試行で報告されたヘッダー (長さを指定せずに試し、代わりにチャンク転送エンコードを使用しました):
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 45113
Content-Type: application/pdf
Server: Microsoft-IIS/8.0
Content-Disposition: attachment; filename="testfile.pdf"
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sat, 09 Nov 2013 17:55:40 GMT
更新: 問題の一部を解決しました!!
SSL をオフにすると、ダウンロードは正常に機能することがわかりました。誰でもこれに遭遇しますか?