با سلام
من یک پروژه ای دارم که رابط و اتصال فرم با دیتابیس درون کلاس تعریف شده است . و الان میخوام که تصویر را از طریق قرم در picture Box بخونه و از طریق کلاس ببره و توی دیتابیس ذخیره کنه . آیا کسی می تونه منو راهنمایی کنه ؟؟؟؟
با سلام
من یک پروژه ای دارم که رابط و اتصال فرم با دیتابیس درون کلاس تعریف شده است . و الان میخوام که تصویر را از طریق قرم در picture Box بخونه و از طریق کلاس ببره و توی دیتابیس ذخیره کنه . آیا کسی می تونه منو راهنمایی کنه ؟؟؟؟
public static byte[] ReadToEnd(System.IO.Stream stream){
long originalPosition = 0;
if(stream.CanSeek)
{
originalPosition = stream.Position;
stream.Position = 0;
}
try
{
byte[] readBuffer = new byte[4096];
int totalBytesRead = 0;
int bytesRead;
while ((bytesRead = stream.Read(readBuffer, totalBytesRead, readBuffer.Length - totalBytesRead)) > 0)
{
totalBytesRead += bytesRead;
if (totalBytesRead == readBuffer.Length)
{
int nextByte = stream.ReadByte();
if (nextByte != -1)
{
byte[] temp = new byte[readBuffer.Length * 2];
Buffer.BlockCopy(readBuffer, 0, temp, 0, readBuffer.Length);
Buffer.SetByte(temp, totalBytesRead, (byte)nextByte);
readBuffer = temp;
totalBytesRead++;
}
}
}
byte[] buffer = readBuffer;
if (readBuffer.Length != totalBytesRead)
{
buffer = new byte[totalBytesRead];
Buffer.BlockCopy(readBuffer, 0, buffer, 0, totalBytesRead);
}
return buffer;
}
finally
{
if(stream.CanSeek)
{
stream.Position = originalPosition;
}
}
}
[COLOR=var(--highlight-literal)]byte[/COLOR][COLOR=var(--highlight-color)][] m_Bytes = StreamHelper.ReadToEnd (mystream);[/COLOR]
پیشنهاد میدم عکس رو تو دیتابیس ذخیره نکنید بجاش از روش های جایگزین استفاده کنید.
سلام ؛
ببینید اگر قراره این عکسها به شکل Client / Server استفاده بشه و پروژه چند کاربره هست بهتره توی دیتابیس ذخیره بشه ، ولی همونجوری که دوستان گفتن پیشنهاد نمیشه ، مگر اینکه مجبور باشین.
** و اگر توی دیتابیس ذخیره میکنید دقت کنید در کوئری هاتون فیلد عکس رو از دستور Select خارج کنین ، چون به شدت Performance رو میاره پایین و دشمن RAM هم هست ! فقط وقتی نیاز بود عکس ها رو از دیتابیس واکشی کنین.
بعضی کسب و کارها ، فقط کامپیوتر سرور به اینترنت دسترسی داره ، کلاینت ها از اطلاعات اون سیستم سرور استفاده می کنن.
Share dcoument درست حسابی هم ندارن یعنی یه جای کار تنظیمات شبکه همیشه می لنگه ؛ به نظرتون اوجور جاها خطرناک
نیست که عکس ها رو داخل دیتابیس ذخیره نکنیم ؟
به خاطر امنیت عکس ها نمیگم آ ؛ به خاطر اینکه مشکل فراخوانی عکس از پوشه پیش نیاد
این یعنی پاک کردن صورت مسئله. بله میشود ذخیره کرد خیلی ام راحت هست و دردسرای دیگه ای هم نداره. اما بعد چند ماه فاجعه ای رخ میده و حجم دیتاببستون به شدت میره بالا. عملیاتتون با کندی پیش خواهد رفت برای هر درخواست میرید یه چایی دم میکنید برمگردید نتیجه رو مشاهده میکنید. برای مثال خودم تو یکی از نرم افزارهام الان نزدیک 450 گیگ فقط عکس هست . به نطرتون این حجم دیتابیس بود من برای بکاپ گرفتن چقدر باید کاربرام رو معطل میکردم؟
ضمن تشکر از توضیحات اقای مرادی و تذکر شما ، خوب منم اشاره کردم منظورم امنیت نیست (البته شاید منظورم رو بد رسوندم )
حالا بگذریم از اینکه مثلا عکس تو پوشه باشه احتمال حذفش با ویرس هست اما تو دیتابیس این اتفاق نمی افته .
هر چند تو پروژه ای که من دارم عکس ها بعد یه دوره ای پاک میشن اما به دلیل توضیحات بالا
تصمیم گرفتم به جای دیتابیس رو فولدر ذخیره کنم