2

c#を使用してディレクトリに画像を追加しようとしました。この画像を使用してグリッドビューに表示します。コードを書きましたが、エラーが発生し、解決できませんでした。私は画像と呼ばれるdirectoyを持っています。ここで、エラーFileUpload1.SaveAs(Server.MapPath( "images /" + FileName)が発生します。C:\ Users \ user \ Documents \ VisualStudio 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);

私は自分のC#アプリの1つでこれを実行し、問題なく動作します。

于 2012-05-14T12:38:58.387 に答える
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 に答える
0

おそらくあなたはあなたの道に問題を抱えています。

Webサイトにフォルダ名があるかどうかを確認imagesしてください。

それが次のようなものを試してみればServer.MapPath("~/images/"+FileName);

ASP.NETWebプロジェクトパスに関するこの記事もご覧ください。

于 2012-05-14T12:36:50.187 に答える