1

画像をファイルにアップロードしたいのですが、「SaveAs メソッドはルート化されたパスを要求するように構成されており、パス '../TempCharcoal/IMG_0153.JPG' はルート化されていません」という例外があります。

これが私の簡単なコードです:

if (fuImage.HasFile)
  {
     fuImage.SaveAs("../TempCharcoal/IMG_0153.JPG");
  }

CharcoalForm.aspx で TempCharcoal フォルダーにアップロードしたい。それらが同じルートにあることがわかりますが、何が問題なのかわかりません。

ここに画像の説明を入力

4

2 に答える 2

2

代わりにこれを使用してください:

if (fuImage.HasFile)
  {
     fuImage.SaveAs(Server.MapPath(@"~/TempCharcoal/IMG_0153.JPG"));
  }

あなたが持っているファイルパスは相対パスです(ディレクトリ..が何であれ)。MapPathメソッドは、そのパスに対応する物理ファイル パスを返します。

于 2013-01-24T18:00:20.137 に答える
0

使用してみてください:

string myPath = @"~\TempCharcoal\IMG_0153.jpg";
fuImage.SaveAs(Server.MapPath(myPath));
于 2013-01-24T18:00:09.710 に答える