この問題は、これをライブサーバーに展開した場合にのみ発生し、Visual Studio Webサーバーの開発マシンで正常に機能し、IE(8と9の両方)でのみ問題になります。
このフォームでjpegを投稿しています...
<form method="post" id="uploadForm" enctype="multipart/form-data" action="/ImageUpload/UploadImageNew">
<input type="file" onchange="postFile()" name="file"></div>
<input type="submit" value="OK">
</form>
このJavaScriptを使用して...
function postFile(ctrl) {
document.getElementById('uploadForm').submit();
}
このコントローラーに...
[HttpPost]
public ActionResult UploadImageNew(HttpPostedFileBase file)
{
// Verify that the user selected a file
if (file != null && file.ContentLength > 0)
{
file.SaveAs("AFilename.file");
}
else
{
throw new Exception("File not found")
}
return View("UploadImageNew");
}
IEではfile.ContentLength=0になりますが、FFとChromeでは正常に機能します。違いが生じる場合は、マシンはイントラネット上にあります。
どんな助けでも大歓迎
更新1:
奇妙なことに、問題は断続的に発生しているようです。金曜日に同僚は何もアップロードできませんでしたが、今朝はアップロードできなかったのは私であり、同僚は両方ともIEを使用できます。
すべてがIIS構成の問題を示しているようですか?
更新2:
わかりました。私の問題は期限切れのセッション/セキュリティに関連しているようです。ハイブリッド認証方式を使用していますが、問題が発生しています。
メインサイトはフォーム認証を使用していますが、Windows認証を実行してCookieを設定する別のサイトがあり、これを無効にすると問題が修正されました。
理由はまだわかりませんが、別の質問ではこれが良いと思います。
彼の投稿が私を正しい答え/説明に導いてくれるので、私はsmartcavemanの答えを正しいものとしてマークしています。