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;

此时文件夹路径类似于 c:/pathToApp/images/

于 2013-10-02T21:42:05.697 回答