2

我试图使用 c# 将图像添加到目录中。我将使用此图像在网格视图中显示。我写了代码,但我遇到了一个错误,我无法解决它。我有一个名为图像的目录。这是我收到错误 FileUpload1.SaveAs (Server.MapPath("images/" + FileName). 它说 C:\Users\user\Documents\Visual Studio 2008\WebSites\WebSite1\images\im1.jpg' 部分找不到路径。这是我的代码:

string FileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.SaveAs(Server.MapPath("images/" + FileName));
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
string strQuery = "INSERT INTO Books (Book_Name,Author_Name,FileName, FilePath, In_Lib) VALUES (@BN,@AN,@FileName, @FilePath,@LIB)";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@BN", TextBox1.Text);
cmd.Parameters.AddWithValue("@AN", TextBox2.Text);
cmd.Parameters.AddWithValue("@FileName", FileName);
cmd.Parameters.AddWithValue("@FilePath", "images/" + FileName);
cmd.Parameters.AddWithValue("@LIB", "YES");
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
4

4 回答 4

2

您正在尝试保存到不存在的目录中。

您需要先创建目录层次结构,然后才能保存到它。

于 2012-05-14T12:32:29.983 回答
0
string cntPath = System.IO.Directory.GetCurrentDirectory();
FileUpload1.SaveAs(cntPath + "\\images\\" + FileName);

I do this in one of my C# apps and it works alright.

于 2012-05-14T12:38:58.387 回答
0

可能您的路径中有问题。

检查您的网站中是否有文件夹名称images

如果是尝试类似Server.MapPath("~/images/"+FileName);

也看看这篇关于ASP.NET Web 项目路径的文章

于 2012-05-14T12:36:50.187 回答
0

利用FileUpload1.SaveAs(Server.MapPath("/") + "\\images\\" + FileName);

示例代码

Server.MapPath(".") returns D:\WebApps\shop\products
Server.MapPath("..") returns D:\WebApps\shop
Server.MapPath("~") returns D:\WebApps\shop
Server.MapPath("/") returns C:\Inetpub\wwwroot
Server.MapPath("/shop") returns D:\WebApps\shop
于 2012-05-14T12:34:06.303 回答