画像をアップロードするコードスニペットがあります。アップロード時に、ファイルを一時的にセッションに保存します。次に「保存」をクリックすると、ファイルがデータベースに保存されます。
私のマシンでは問題はありませんが、サーバーでいくつかのファイルをアップロードしようとして「保存」をクリックすると、「閉じたファイルにアクセスできません」というエラーが表示されます。グーグルで、これはアップロードされた大きなファイルが原因であるとここで読みました。確認したいのですが、大きなファイルをアップロードしているのが問題ですか?それとも何か他のものでしょうか?また、なぜこれを自分のマシンではなくサーバーでのみ取得するのですか?
編集:ちなみに、エラーはfile size > 80kb
ファイルのアップロードに関するコード:
public ActionResult StoreLogoInSession(HttpPostedFileBase file, int assetID)
{
string filename = null;
if (ValidateOnUpload(file))
{
Session.Add("TempLogo", file);
filename = file.FileName;
Session.Add("filename", filename);
}
return RedirectToAction("Edit", new { id = assetID });
}
保存に関するコード(これはエラーが発生したときです):
public ActionResult SaveLogo(LogoModel m, int assetID)
{
HttpPostedFileBase file = (HttpPostedFileBase)Session["TempLogo"];
var logoModel = new LogoModel();
var asset = this.GenerateAssetForUploadFile(file, (int)m.Asset.AccountID, m.Asset.TextContents, m.Asset.AssetName);
this.LogoManagementFacade.SaveLogo(asset);
logoModel.Asset = asset;
this.LogoModelList.Add(logoModel);
}