مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

leily1

عضویت از 1394/06/22

دخیره فایل ها با استفاده از filestream

  • چهارشنبه 24 آبان 1396
  • 11:12
تشکر میکنم

سلام

وقت تون بخیر

من می خوام با استفاده از filestream و entityframework فایل تو دیتابیس ذخیره کنم.

تنظیمات لازم رو برای فعال سازی filestream تو دیتابیس انجام دادم ولی بقیه کار یعنی  برای ذخیره و خوندن فایل نمی دونم چطور باید کد بزنم

لطفا اگر کسی می دونه راهنمایی کنه خیلی force

پاسخ های این پرسش

تعداد پاسخ ها : 14 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • چهارشنبه 24 آبان 1396
  • 11:16

مقاله زیر را بررسی کنید :

Sql file stream in ASP.NET MVC with Entity framework

کاربر سایت

leily1

عضویت از 1394/06/22

  • چهارشنبه 24 آبان 1396
  • 13:41

مسئله ای که من فراموش کردم بگم اینه که من تحت ویندوز کد می زنم، و نمی دونم کد رو چطور برای ویندوز تغییر بدم

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • چهارشنبه 24 آبان 1396
  • 13:50

فرقی نمی کند،در  این مقاله فیلدی که برای فایل درنظر گرفته شده است از  نوع  byte[] می باشد ، پس از آنbyte  های فایل مورد نظر را دریافت کرده در بانک ذخیره می کند.

کاربر سایت

leily1

عضویت از 1394/06/22

  • چهارشنبه 24 آبان 1396
  • 14:29

برای آپلود عکس باید از مشابه کد زیر استفاده کنم؟

 private void button1_Click(object sender, EventArgs e)
        {

            OpenFileDialog op = new OpenFileDialog();
            if (op.ShowDialog() == DialogResult.OK)
            {
                txtImage.Text = op.SafeFileName;
                pictureBox1.ImageLocation = op.FileName;
            } 
        }

کاربر سایت

leily1

عضویت از 1394/06/22

  • چهارشنبه 24 آبان 1396
  • 16:05

برنامه تحت ویندوز اصلا InputStream رو نمی شناسه 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 24 آبان 1396
  • 16:23
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
    MemoryStream ms = new MemoryStream();
    imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
    return ms.ToArray();
}

public Image byteArrayToImage(byte[] byteArrayIn)
{
     MemoryStream ms = new MemoryStream(byteArrayIn);
     Image returnImage = Image.FromStream(ms);
     return returnImage;
}

var image = new ImageEntity(){
   Content = imageToByteArray(image)
}
_Context.Images.Add(image);
_Context.SaveChanges();

کاربر سایت

leily1

عضویت از 1394/06/22

  • پنجشنبه 25 آبان 1396
  • 08:11

چند تا سوال 

این کد فقط برای ذخیره عکس هست؟ من می خوام هر فرمتی رو ذخیره کنه باید چی کار کنم؟

و این که image اطلاعات رو از کجا می گیره؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 25 آبان 1396
  • 09:26

میتونید هر فرمتی که بخواهید به صورت byte ذخیره کنید

کاربر سایت

leily1

عضویت از 1394/06/22

  • پنجشنبه 25 آبان 1396
  • 10:45

من کد رو به صورت زیر نوشتم ولی خوب اطلاعات فایلم رو نمی دونم چطور باید به متغییر image بدم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 25 آبان 1396
  • 13:01

این لینک را مطالعه کنید

کاربر سایت

leily1

عضویت از 1394/06/22

  • پنجشنبه 25 آبان 1396
  • 13:23

این لینک mvc هست و مشلکشون با یک 

HttpPostedFileBase upload و یک کد 
<input type="file" id="Avatar" name="upload" /> تو view 
حل می شه ولی من می خوام تحت ونیدوز کد بزنم، لطفا راهنمایم کنید چطور باید برای ویندوز این کد رو استفاده کنم
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 25 آبان 1396
  • 13:28
using (fooEntities fe = new fooEntities())

{

    FileStoreDemo fsd = fe.FileStoreDemoes.CreateObject();

 

    fsd.name = new FileInfo(filename).Name;

    fsd.content = File.ReadAllBytes(filename);

    fe.FileStoreDemoes.AddObject(fsd);

 

    fe.SaveChanges();

}

در filename مسیر فایل رو بدید

کاربر سایت

leily1

عضویت از 1394/06/22

  • پنجشنبه 25 آبان 1396
  • 13:47

راستش رو بخواهید من اصلا نمی دونم چی کار کنم، اصلا نمی دونم از این کدها کجا و چطور استفاده کنم 

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • پنجشنبه 25 آبان 1396
  • 13:48
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)