PDA

View Full Version : سوال: ذخیره سازی عکس در sql



darkwish
یک شنبه 25 بهمن 1388, 20:59 عصر
دوستان عزیز سلام ممنون از اینکه برای ذخیره سازی عکس در پایگاه داده کمک کردید.
مشکل کار من این جاست که عکسی که می خوام در پایگاه داده ذخیره کنم در داخل خوذ برنامه تولید می شه بهتره بگم یک گراف رو خود برنامه در داخل یک pictureBox رسم می کنه. این کدی که در تایپک قبلی دوستان گفتید برای مواردی کاربرد داره که با استفاده از openfiledialog فایلو خونده باشیم و در داخل pictureBox نمایش بدیم.
اگه می شه کمک خیلی کمک
f1........................f1......f1.............. ..f1..................f1.................f1

seven7777777
یک شنبه 25 بهمن 1388, 23:02 عصر
دوست عزیز چر هی تاپیک زدی ، کلی پراکندگی ایجاد کردی . من رفتم به تاپیک اول جواب دادم حالا می بینم اینجام تاپیک زدی .
به هر حال :
اگه تو پیکچرباکس ساختی ، از خاصیت Image که استفاده کن . حالا یا همونو به Byte[] تبدیل کن یا اینکه یه جا مثل tmp ویندوز موقتا ذخیرش کن ، بعد Byte[] هاش رو بدست بیار و بعد حذفش کن .
کد ذخیره در tmp ویندوز :

string tmpPath = Path.GetTempPath() + "/__~Common@Temp";
origImage.Save(tmpPath, ImageFormat.Jpeg);

seven7777777
یک شنبه 25 بهمن 1388, 23:32 عصر
اینم کد کاملش :

public static byte[] Generate_Image_Byte(Image origImage)
{
string tmpPath = Path.GetTempPath() + "/__~Common@Temp";
origImage.Save(tmpPath, ImageFormat.Jpeg);
byte[] iByte = null;
// 4 achive to bytes length of file
FileInfo fInfo = new FileInfo(tmpPath);
long numBytes = fInfo.Length;
// read stream of bytes in iByte
FileStream fStream = new FileStream(tmpPath, FileMode.Open, FileAccess.Read, FileShare.None);
BinaryReader bReader = new BinaryReader(fStream);
iByte = bReader.ReadBytes(Convert.ToInt32(numBytes));
bReader.Close();
fStream.Close();
fInfo.Delete();
return iByte;
}

darkwish
دوشنبه 26 بهمن 1388, 00:04 صبح
اینم کد کاملش :

public static byte[] Generate_Image_Byte(Image origImage)
{
string tmpPath = Path.GetTempPath() + "/__~Common@Temp";
origImage.Save(tmpPath, ImageFormat.Jpeg);
byte[] iByte = null;
// 4 achive to bytes length of file
FileInfo fInfo = new FileInfo(tmpPath);
long numBytes = fInfo.Length;
// read stream of bytes in iByte
FileStream fStream = new FileStream(tmpPath, FileMode.Open, FileAccess.Read, FileShare.None);
BinaryReader bReader = new BinaryReader(fStream);
iByte = bReader.ReadBytes(Convert.ToInt32(numBytes));
bReader.Close();
fStream.Close();
fInfo.Delete();
return iByte;
}

ممنون از لطفتون دوست عزیز
یه سوال دیگه : بعد از اینکه عکس رو تبذیل کردم اگه بخوام آونو از تو هارد پاک کنم باید چیار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟

seven7777777
دوشنبه 26 بهمن 1388, 00:13 صبح
fInfo.Delete();
این بخش کد ( که تو تابع بالا خط یکی مونده به آخره ) خودش فایلو حذف می کنه . در واقع فایل تصوی یه لحظه تو tmp ایجاد میشه و خیلی سریع حذف میشه .

darkwish
دوشنبه 26 بهمن 1388, 00:22 صبح
ممنون از لطفتون دوست عزیز
یه سوال دیگه : بعد از اینکه عکس رو تبذیل کردم اگه بخوام آونو از تو هارد پاک کنم باید چیار کنم؟؟؟؟؟؟؟؟؟؟؟؟؟

کذ سی شارپ معادل اینو کسی بلد نیست کمک کمک کمک کمک کمک کمک

tefos666
دوشنبه 26 بهمن 1388, 00:42 صبح
این يه مثال برای پاک کردن فایل از هارد




protected void CleanImageFolder()
{
string imgFolder = Server.MapPath("~/lab/maskemail/img/");
string[] imgList = Directory.GetFiles(imgFolder, "*.jpg");
foreach (string img in imgList)
{
FileInfo imgInfo = new FileInfo(img);
if (imgInfo.LastWriteTime < DateTime.Now.AddMinutes(-3))
{
imgInfo.Delete();
}
}




يا اين كد



foreach(string sFile in System.IO.Directory.GetFiles("D:\\"))
{
if (sFile.ToUpper().EndsWith(".LNK"))

System.IO.File.Delete(sFile);
}


يا اين كد



foreach(string sFile in System.IO.Directory.GetFiles(@"e:\test\", "*.lnk"))
{
System.IO.File.Delete(sFile);
}




به اينجا هم يه سر بزن
http://msdn.microsoft.com/en-us/library/system.io.file.delete(VS.71).aspx

seven7777777
دوشنبه 26 بهمن 1388, 10:37 صبح
کذ سی شارپ معادل اینو کسی بلد نیست
منظورت از کد معادل C#‎ چیه ؟
کد بالا به زبان سی شارپه دیگه !!!