0

件名に問題があります。私のプログラムは、ユーザーに fileUpload で画像をロードするように要求し、このファイルは listBox にファイル名として、Image に画像として表示する必要があります。画像コントロールに画像を表示する以外はすべて実行されます。私はすでに多くのフォーラムを読み、URL を ~ / \ で変更しようとしましたが、何も役に立ちません。ところで、フォルダのプロパティでアクセス セキュリティを変更しようとしましたが、まだ機能しません。そういうわけで、私はあなたに私を助けてもらいます。これは、ファイルをロードし、それを表示する必要がある私のコードの一部です:

        string folderPath = Server.MapPath(@"~\images\");
        FileUpload1.SaveAs(folderPath + filename);
        ListBox1.Items.Add(filename);
        folderPath = System.Text.RegularExpressions.Regex.Replace(folderPath, @"\\", @"/"); //tried to do with and without this line
        Image1.ImageUrl = folderPath + filename;

私のせいはどこですか?アドレス行に localhost\images\pic.jpg と入力すると、うまく表示されます

4

2 に答える 2

1

ファイルパスが混乱しています。Server.MapPathは相対パスを取り、その相対パスの物理ファイル パスを取得します。画像はこれを使用できません -- 相対パスを使用する必要があります。

コードは次のようになります。

string relPath = String.Format("~/images/{0}", filename);
string filePath = Server.MapPath(relPath);
FileUpload1.SaveAs(filePath);
ListBox1.Items.Add(filename);
Image1.ImageUrl = relPath;
于 2013-10-02T21:41:56.287 に答える
1

エラーは次の行にあります。

Image1.ImageUrl = folderPath + filename;

この時点で、folderPath は c:/pathToApp/images/ のようなものです

于 2013-10-02T21:42:05.697 に答える