現在、イメージをファイルサーバーにアップロードするMVCアプリケーションで問題が発生しています。MVC5ファイルのアップロードと表示
public ActionResult UploadFile(HttpPostedFileBase file, string newFileName)
{
try
{
if (file.ContentLength > 0)
{
Bitmap bm = new Bitmap(file.InputStream);
Bitmap final = new Bitmap(bm, 150, 150);
final.SetResolution(72.0F, 72.0F);
string _FileName = newFileName + ".jpg";
string _path = Path.Combine(ConfigurationManager.AppSettings["imageDirectory"], _FileName);
final.Save(_path,System.Drawing.Imaging.ImageFormat.Jpeg);
}
ViewBag.Message = "File Uploaded Successfully!!";
return RedirectToAction("Index");
}
catch
{
ViewBag.Message = "File upload failed!!";
return RedirectToAction("Error");
}
}
したがって、ユーザーはファイルを選択し、Windows共有にアップロードします。このコードはIISExpressを使用して私のマシン上で動作し、テストサーバー上で動作します。プロダクションサーバーにデプロイすると、インデックスにリダイレクトされてもファイルサーバー上でファイルが変更されないという点で動作しているようです。
IISExpress、テストサーバー、および運用サーバーは、すべて同じファイルディレクトリを指しています。
これをトラブルシューティングする際に遭遇したもう1つの問題は、アプリケーションのFQDNを使用するときにファイルサーバーからのイメージが表示されないことです。したがってhttp://[appName].[domain].[com]は画像を表示できませんが、http://[appName]は画像を表示します。テストではまったく表示されなかった別の奇妙な問題です。