Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将带有fileUpload的图像文件加载到服务器并尝试读取它_C#_Asp.net_File Upload - Fatal编程技术网

C# 将带有fileUpload的图像文件加载到服务器并尝试读取它

C# 将带有fileUpload的图像文件加载到服务器并尝试读取它,c#,asp.net,file-upload,C#,Asp.net,File Upload,我对这个题目有一些问题。我的程序要求用户使用fileUpload加载图片,然后该文件必须在列表框中显示为文件名,在图像中显示为图片。除了在图像控制中显示图片外,所有操作都已完成。我已经阅读了很多论坛,并尝试使用~/\更改url,但没有任何帮助。B.t.w.,我试图在文件夹的属性中更改访问安全性,但仍然不起作用。这就是为什么,我请求你帮助我。这是加载文件的代码的一部分,必须显示: string folderPath = Server.MapPath(@"~\images\");

我对这个题目有一些问题。我的程序要求用户使用fileUpload加载图片,然后该文件必须在列表框中显示为文件名,在图像中显示为图片。除了在图像控制中显示图片外,所有操作都已完成。我已经阅读了很多论坛,并尝试使用~/\更改url,但没有任何帮助。B.t.w.,我试图在文件夹的属性中更改访问安全性,但仍然不起作用。这就是为什么,我请求你帮助我。这是加载文件的代码的一部分,必须显示:

        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中输入,它会显示得很好

您的文件路径很混乱。获取相对路径并获取该相对路径的物理文件路径。图像不能使用此选项--它应该使用相对路径

您的代码应该如下所示:

string relPath = String.Format("~/images/{0}", filename);
string filePath = Server.MapPath(relPath);
FileUpload1.SaveAs(filePath);
ListBox1.Items.Add(filename);
Image1.ImageUrl = relPath;

错误在这一行:

Image1.ImageUrl = folderPath + filename;
此时folderPath类似于c:/pathToApp/images/