PDA

View Full Version : اشکال در لود تصویر از دیتابیس



davidrobert
یک شنبه 19 بهمن 1393, 17:16 عصر
سلام و خسته نباشید من قصد دارم عکس رو به صورت اسلاید شو نمایش بدم مشکلی که دارم عکس لود نمیشه من عکس رو در سیستم ذخیره میکنم و از دیتابیس آدرس عکس رو میدم برای فراخونی تصویر ولی مشکلی که دارم عکس رو نمایش نمیده این دستوری هستش که عمل آپلود رو انجام میده و عکس رو آپلود میکنه درست و آدرست رو داخل کادر متن قرار میده. این دستور
protected void Button2_Click(object sender, EventArgs e)
{
string path =
Server.MapPath("." + "\\UploadImageProduction\\");
String[] validrxtion = { ".jpg", ".gif", ".png", ".rar" };
string extcutes = Path.GetExtension(FileUpload1.PostedFile.FileName) ;
if (Array.IndexOf(validrxtion, extcutes.ToLower()) < 0)
{
Response.Write("فایل نامعتبر می باشد.");
return;
}
long siza = FileUpload1.PostedFile.ContentLength;
siza = siza / 1024;
if (siza > 1024)
{
Response.Write("فایل باید کمتر از 1024 کیلوبایت باشد.");
return;
}

string FileNmae = Path.GetFileName(FileUpload1.PostedFile.FileName);
while (File.Exists(path + "\\" + FileNmae))
{
FileNmae = "1" + FileNmae;
TextBox2.Text = Path.GetFileName(FileUpload1.PostedFile.FileName);
}
TextBox2.Text =@path+""+ Path.GetFileName(FileUpload1.PostedFile.FileName);
FileUpload1.PostedFile.SaveAs(path + FileNmae);
}
آدرس رو به این صورت داخل کادر متن قرار میده.
D:\Canopy Software Site Me\Canopy Software Site Me\UploadImageProduction\1 (26).jpg
و به این صورت ذخیره میکنه
D:\\Canopy Software Site Me\\Canopy Software Site Me\\UploadImageProduction\\1 (26).jpg
در دیتابیس برای فراخونی تصویر از این دستور استفاده میکنم
public void GetPic()
{
try
{
var q = from tblImgProduction in db.Tbl_Img_Production
select new
{
pic = tblImgProduction.Pic_ProductionImage,
money = tblImgProduction.PIC_Mony
};
foreach (var vlutblimage in q)
{
LblMoneyPicProduction.Text = Convert.ToDecimal(vlutblimage.money).ToString();
string path = Server.MapPath(vlutblimage.pic);
string[] files = Directory.GetFiles(path);
string tags = "";
foreach (string f in files)
{
string ff = Path.GetFileName(f);
tags += "<img width='220' height='114' src=" + vlutblimage.pic + "/>\n";
tags = string.Format(tags, ff);

}
//Image1.ImageUrl = @"~/UploadImageProduction/" + vlutblimage.pic;
Image1.ImageUrl = tags;
LblMoneyPicProduction.Text = Convert.ToDecimal(vlutblimage.money).ToString();
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
در این دستور میرسه که خط آخریش خطا میده.

string path = Server.MapPath(vlutblimage.pic);
متن خطا این هستش
'D:/Canopy Software Site Me/Canopy Software Site Me/UploadImageProduction/1 (25).jpg' is a physical path, but a virtual path was expected.
خواهش کمک کنید گیرم الان 3 روز هیچ جور جواب نمیگیرم و نمی تونم تصویر رو از دیتابیس با آدرسش لود کنم.