我正在學習我的學校項目,並試圖插入數據並將圖像文件上傳到數據庫,但出現此錯誤。在給定路徑找不到文件
下面是代碼: 我不明白什麼呢錯誤表示。
public static void AddItems(StoreItems i)
{
byte[] bytes;
if (string.IsNullOrEmpty(i.PicturePath))
{
string filename = System.Web.HttpContext.Current.Server.MapPath("~/Content/Images/default-artwork.png");
bytes = System.IO.File.ReadAllBytes(filename);
}
else
{
string filename = i.PicturePath;
bytes = System.IO.File.ReadAllBytes(filename);
}
SqlConnection con = new SqlConnection(DAL.cs);
con.Open();
SqlCommand com = new SqlCommand(
"INSERT INTO AlbumsTb (AlbumName, Artist, Genre, DateReleased, Price, Downloads, Listens, RecordLabel, DateAdded, AlbumArt) VALUES(@AlbumName, @Artist, @Genre, @DateReleased, @Price, @Downloads, @Listens, @RecordLabel, @DateAdded, @AlbumArt)", con);
//com.Parameters.AddWithValue("@ID", i.ID);
com.Parameters.AddWithValue("@AlbumName", SqlDbType.VarChar).Value = i.AlbumName;
com.Parameters.AddWithValue("@Artist", SqlDbType.VarChar).Value = i.Artist;
com.Parameters.AddWithValue("@Genre", SqlDbType.VarChar).Value = i.Genre;
com.Parameters.AddWithValue("@DateReleased", SqlDbType.Date).Value = i.DateReleased;
com.Parameters.AddWithValue("@Price",i.Price);
com.Parameters.AddWithValue("@Downloads", i.Downloads);
com.Parameters.AddWithValue("@Listens", i.Listens);
com.Parameters.AddWithValue("@RecordLabel", SqlDbType.VarChar).Value = i.RecordLabel;
com.Parameters.AddWithValue(@"DateAdded", DateTime.Now.ToString());
com.Parameters.AddWithValue("@AlbumArt", SqlDbType.VarBinary).Value = bytes;
com.ExecuteNonQuery();
con.Close();
}
根據上一個問題中的代碼,您沒有在調用方法的任何位置保存該文件。所以即使對象有圖片路徑,也沒有用這個名字保存的。 – Nkosi
此外,他不應該將任何東西保存在IIS文件夾中。 – Andrew
你也應該停止發佈圖片,而是用實際的錯誤信息正確地格式化問題,以便更容易處理細節。 – Nkosi