将图像保存到目录c#

时间:2012-05-14 12:27:17

标签: c# asp.net

我试图使用c#将图像添加到目录中。我打算用这个图像在gridview中显示。我写了代码,但我收到了一个错误,我无法解决它。我有一个叫做图像的直播。这是我收到错误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 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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

答案 2 :(得分:0)

可能你的路上有问题。

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

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

的话

另请参阅有关ASP.NET Web Project Paths

的这篇文章

答案 3 :(得分:0)

string cntPath = System.IO.Directory.GetCurrentDirectory();
FileUpload1.SaveAs(cntPath + "\\images\\" + FileName);

我在我的一个C#应用程序中执行此操作,它可以正常工作。