نمایش نتایج 1 تا 10 از 10

نام تاپیک: ذخيره و بازخواني عكس با Linq

  1. #1

    Cool ذخيره و بازخواني عكس با Linq

    سلام دوستان عزيزم
    راستش با LINQ كار مي كنم ميخواستم ببينم براي ذخيره و بازخواني از چه دستوراتي استفاده ميشه؟

    مرسي كلي

  2. #2

    نقل قول: ذخيره و بازخواني عكس با Linq

    یعنی چی برای ذخیره و بازیابی؟
    سوالت خیلی کلیه.
    بیشتر توضیح بده.
    مثال بزن تا بهت توضیح بدم.
    این که نوشتی یعنی آقا اصلا LINQ چی هست. یکی از دوستان زحمت کشیدن دارن LINQ رو توی همین فروم آموزش میدن٬ اگه منظورت همینه به این تاپیک یه نیگاه بنداز.
    موفق باشی

  3. #3

    Lightbulb نقل قول: ذخيره و بازخواني عكس با Linq

    چند تا نکته:
    1. قسمتهای اموزشی Lnq که هسا خیلی مبتدیه و تازه اولاش و دارن یا میدن
    2.توضیح بیشتر: دادهایی از نوع عکس با داده های دیگه تو فراخوانی و ذخیره داره که این مسئله حل شد که به زودی مثالی میزارم که کاملا مسئله رو توضیح میده
    3.الان با مشکل عدم نمایش بعضی از فیلدای Lnq در کریستال مواجه شدم این موضوع رو مطرح کردم اما هنوز جوابی پیدا نشده

  4. #4

    نقل قول: ذخيره و بازخواني عكس با Linq

    خب پس Linq رو بلدی٬ منظورت از سوال اولت کلا همین بحث عکس بود؟
    (عذر میخوام عنوان سوالت رو دقت نکرده بودم)
    برای عکس:
    برای ذخیره باید bitmap رو به byte array تبدیل کنی و فیلد مربوطه رو مقدار دهی کنی.
    اینجا میتونی روش های مختلف اینکار رو ببینی:
    http://www.vbforums.com/showthread.php?t=358917

    برای دریافت عکس هم٬ نوع داده فیلد مربوطه در Linq از نوع Binary هست که کافیه با تابع toArray به byte array تبدیلش کنی و اون رو به عکس تبدیل کنی. مثل این روش :
    TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
    Bitmap bitmap1 = (Bitmap)tc.ConvertFrom(byteArray);
    یا
    ImageConverter ic = new ImageConverter();
    Image img = (Image)ic.ConvertFrom(byteArray);
    Bitmap bitmap1 = new Bitmap(img);

    در مورد Crystal Report توی همون سوالتون بهتون جواب دادم:
    من معمولا Linq رو مستقیم به Crystal Report نمیفرستم. اما مشکل شما به این ترتیب حل میشه:
    داخل فایل dbml فیلدی که عکس شماست رو انتخاب کنید و مقدار type رو از binary به byte[] تبدیل کنید.
    بعد از اینکار فیلد مورد نظرتون رو میتونید داخل crystal report به صورت عکس ببینید.

    موفق باشید

  5. #5

    Lightbulb اينچنين بود كه مسئله عكس و LINQ و Crystal Report حل شد

    چند تا مشكل وقتي با LINQ و ‍Crystal Report در زمينه كار با عكس داشتم .
    1. تبديلايي كه لازم بود براي ريختن عكس تو فيلدي از پايگاه كه از نوع Image تعريف شده كه در واقع تبديلاتي بين نوع Stream و Byte[] صورت گرفت
    MemoryStream ms = new MemoryStream();
    pictureBox1.Image.Save(ms, عكس انتخابي);
    byte[] arrImage = ms.GetBuffer();
    ms.Close();
    2. قرار گرفتن عكس در گزارشات با راهنمايي دوستان در فروم نوع فيلد عكس در dbml مربوط به LINQ كه پيش فرض System.Data.Linq.Binary به []System.Byte عوض كنيم
    بقيه روال به صورت عادي انجام ميشه

    لينك نمونه :
    https://barnamenevis.org/showth...=173100&page=2

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    شهر راز
    پست
    98

    نقل قول: ذخيره و بازخواني عكس با Linq

    سلام دوستان.
    من مي خوام با لينكيو عكس رو تو پايگاه دادم ذخيره و بعد بازيابي كنم.
    اين راهنمايي هايي رو هم كه نوشتيد استفاده كردم اما به جايي نرسيدم.
    لطف كنيد يه مثال رو Upload كنيد.من چند روز ديگه بايد پرو‍‍زم رو تحويل بدم اگه ممكنه زودتر اين كار رو انجام بدين.
    خيلي خيلي ممنون.

  7. #7

    نقل قول: ذخيره و بازخواني عكس با Linq

    تعریف متغیر :

    DataClassesDataContext db = new DataClassesDataContext();

    static string fileName = null;

    static bool flag = false;

    تابعی برای اپلود عکس :

    string upload()
    {

    var fi = new FileInfo(FileUpload1.PostedFile.FileName);
    if (!new[] { ".jpg", ".gif", ".bmp", ".png", ".jpeg" }.Contains(fi.Extension.ToLower()))
    {
    lbl_error.Visible = true;
    lbl_error.Text = "پسوند فایل اشتباه است.";
    flag = true;
    return null;
    }
    if (FileUpload1.PostedFile.ContentLength > (4000 * 1024))
    {
    lbl_error.Text = "حجم عکس زیاد است.";
    lbl_error.Visible = true;
    flag = true;
    return null;
    }
    string path1 = string.Format("./upload/gallary/{0}", fi.Name);
    FileUpload1.SaveAs(Server.MapPath(path1));
    Image1.Visible = true;
    Image1.ImageUrl = "./upload/gallary/" + fi.Name;
    return fi.Name;
    }

    ذخیره در دیتابیس :


    try
    {
    fileName = upload();
    if (flag) return;
    if (fileName == null)
    {
    lbl_error.Visible = true;
    lbl_error.Text = "تصویری ثبت نشده است";
    return;
    }

    var tb = new ImgShow();
    tb.Title = txt_title.Text;
    tb.Img = fileName;
    tb.TitlePart = DropDownList1.Text;
    tb.Active = CheckBox2.Checked;
    db.ImgShows.InsertOnSubmit(tb);
    db.SubmitChanges();
    Image1.ImageUrl = "../upload/gallary/" + fileName;
    }
    catch (Exception ex)
    {
    Response.Write(ex.Message.ToString());
    }

  8. #8

    نقل قول: ذخيره و بازخواني عكس با Linq

    قسمت نمایش عکس از دیتابیس :


    بخش کد html :

    <table>
    <tr>
    <td width="100%">

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
    AutoGenerateColumns="False" BorderColor="White" BorderStyle="Ridge"
    BorderWidth="1px" Font-Names="Tahoma" Font-Size="8pt" Width="100%"
    Font-Italic="True" onpageindexchanging="GridView1_PageIndexChanging">
    <RowStyle BackColor="#E0DFE3" BorderColor="White" BorderStyle="Ridge"
    BorderWidth="1px" Height="30px" HorizontalAlign="Center"
    VerticalAlign="Middle" />
    <Columns>

    <asp:BoundField DataField="Title" HeaderText="عنوان" >

    <HeaderStyle Font-Names="Tahoma" Font-Size="12px" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="40%" />
    </asp:BoundField>

    <asp:TemplateField HeaderText="عکس">
    <ItemTemplate>
    <img src="<%#"upload/hamian/"+ DataBinder.Eval(Container.DataItem,"Img") %>" width="100px" height="70px" alt="<%# DataBinder.Eval(Container.DataItem,"Title") %>"/>
    </ItemTemplate>
    <HeaderStyle Font-Names="Tahoma" Font-Size="12px" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="50%" />
    </asp:TemplateField>
    <asp:TemplateField HeaderText="عملیات">
    <ItemTemplate>
    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Img/info.gif"
    ToolTip="ویرایش" CommandArgument='<%# Eval("Id") %>' oncommand="update1" />
    <asp:ImageButton ID="ImageButton2" runat="server"
    ImageUrl="~/Img/notavai.gif" OnClientClick="return suredelete()"
    style="height: 16px" ToolTip="حذف" CommandArgument='<%# Eval("Id") %>'
    oncommand="delete1" />
    </ItemTemplate>
    <HeaderStyle Font-Names="Tahoma" Font-Size="12px" />
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Top" Width="10%" />
    </asp:TemplateField>
    </Columns>
    <SelectedRowStyle BorderStyle="Outset" />
    <HeaderStyle BackColor="C#‎‎‎‎‎‎‎‎0D2EA" Font-Bold="True" Font-Names="Times New Roman"
    Font-Size="12pt" />
    <EditRowStyle HorizontalAlign="Center" VerticalAlign="Top" />
    <AlternatingRowStyle BackColor="C#‎‎‎‎‎‎‎‎CCCCC" BorderColor="White"
    BorderStyle="Ridge" BorderWidth="1px" Height="30px" HorizontalAlign="Center"
    VerticalAlign="Middle" />
    </asp:GridView>

    </td>
    </tr>
    </table>


    بخش کد C#‎‎‎‎‎‎‎‎:


    تعریف متغیر :

    DataClassesDataContext db = new DataClassesDataContext();

    private static List<Hamian> ls;

    کد :


    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack)
    {
    ls = (from ne in db.Hamians
    //where ne.enable
    select ne).ToList();
    GridView1.DataSource = ls;
    GridView1.DataBind();
    }
    }
    آخرین ویرایش به وسیله majid325 : سه شنبه 27 مهر 1389 در 11:34 صبح

  9. #9
    کاربر تازه وارد آواتار milad222
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    39

    نقل قول: ذخيره و بازخواني عكس با Linq

    سلام.
    میشه بجای ذخیره ی عکس تو پایگاه داده، اون رو توی کامپیوتر ذخیره کنیم و از آدرس اون استفاده کنیم.
    به عنوان مثال:
    OpenFileDialog OF = new OpenFileDialog();
    OF.ShowDialog();
    string s1 = OF.FileName;
    PictureBox.Image = Image.FromFile(@s1);


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

  10. #10

    نقل قول: ذخيره و بازخواني عكس با Linq

    سلام به همگی
    ببخشید من عکسامو به باینری تبدیل کردم و تو بانک ذخیره کردم حالا میخوام همه اونارو بخونم و تو برنامم نشون بدم ممنون میشم راهنماییم کنید که با linq چطوری تمام عکسهای تو جدولم رو بخونم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •