そこで、ユーザーのプロフィール写真をディスクに保存したいと思います。これを行うために、このメソッドを呼び出します。このSaveUserProfilePicture
メソッドは、ローカル システムでは正常に機能していますが、Azure では機能していません。
public static string SaveUserProfilePicture(Stream image, string subDirectory)
{
return SaveImageFile(new Bitmap(Image.FromStream(image)), subDirectory);
}
private static string SaveImageFile(Bitmap bitmap, string subDirectory)
{
var virtualPath = string.Format("~/Images/{0}/{1}.jpg", subDirectory, Guid.NewGuid().ToString());
bitmap.Save(HttpContext.Current.Server.MapPath(virtualPath));
return virtualPath;
}
例外:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
[ExternalException (0x80004005): GDI+ で一般的なエラーが発生しました。] System.Drawing.Image.Save(文字列ファイル名、ImageCodecInfo エンコーダー、EncoderParameters エンコーダーパラム) +473402 System.Drawing.Image.Save(文字列ファイル名、ImageFormat 形式) +69 システム.Drawing.Image.Save(文字列ファイル名) +25 MyProject.Core.Helpers.ImageLoader.SaveImageFile(ビットマップ ビットマップ、文字列サブディレクトリ) +136 MyProject.Core.Helpers.ImageLoader.SaveUserProfilePicture(ストリーム イメージ、文字列サブディレクトリ) +87 MyProject. Controllers.AccountController.ChangeProfilePicture(HttpPostedFileBase choosenPhoto) +52 lambda_method(Closure , ControllerBase , Object[] ) +104 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] パラメータ) +14
私は無料の試用版サブスクリプションを持っていることを言及します(したがって、共有などはありません)。さらに、Azure フォルダー (つまり、Images ディレクトリの下) にあるファイルを表示する方法はありますか?