ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی “ ورود به حساب” کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمیشود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 3 از 3
  1. #1
    adminmsp
    مدیر کل و موسس سایت
    تاریخ عضویت
    1970 Jan
    محل سکونت
    M.S.P Soft
    نوشته ها
    1,588
    759
    429

    اضافه کردن تصویر به پایگاه داده

    در بسیاری مواقع ما نیاز به افزودن تصویر به پایگاه داده داریم. از آنجایی که دسترسی به فایلهای موجود در سرور جهت استفاده هکرها بسیار سهل الوصول است، برخی مواقع نمی*توانیم اطلاعات حساس را در قالب فایلهای تصویری در سرور ذخیره کنیم. به همین جهت بهتر آن است که در قالب نوع داده image در بانک اطلاعاتی ذخیره شود.

    در این قسمت موارد زیر بررسی می شوند:
    بررسی پیش نیازهای اضافه نمودن فایل تصویری
    کار با شیء Stream
    پیدا کردن اندازه و نوع تصویری که آپلود می شود
    چگونگی استفاده از متد InputStream

    بررسی پیش نیازهای اضافه نمودن فایل تصویری
    دو مورد اصلی که قبل از شروع آپلود نیاز داریم عبارتند از:
    1. - تنظیم خاصیت enctype فرم مربوطه (در برچسبForm) به enctype="multipart/form-data"
    - داشتن <input type=file> که به کاربر اجازه انتخاب فایل مورد نظرش را می دهد. (فایلی که در پایگاه داده باید ذخیره شود) و یک Submit button جهت اجرای عملیات مربوط به آپلود کردن فای
    - استفاده از فضانام System.IO جهت سروکار داشتن با شیء Stream
    2. سه پارامتر بالا در یک صفحه aspx بکار می روند.ما همچنین به پیش نیازهای زیر در SQL Server نیازمندیم:

    - داشتن حداقل یک جدول با فیلدی از نوع image
    - بهتر است که فیلد دیگری از نوع varchar جهت ذخیره تایپ تصویر داشته باشیم.

    روند کار بدین صورت است که در ابتدا محتویات فایل تصویر خوانده می*شود و سپس تصویر به جدول افزوده می*شود. در زیر کد مربوط به رویداد OnClick مربوط به Submit button که تصویر را خوانده و به جدول SQL اضافه می*کند، می*پردازیم:
    کد PHP:
    Public Sub AddPerson(sender As ObjectAs EventArgs)
       
    Dim intImageSize As Int64
       Dim strImageType 
    As String
       Dim ImageStream 
    As Stream

       
    ' Gets the Size of the Image
       intImageSize = PersonImage.PostedFile.ContentLength

       ' 
    Gets the Image Type
       strImageType 
    PersonImage.PostedFile.ContentType

       
    ' Reads the Image
       ImageStream = PersonImage.PostedFile.InputStream

       Dim ImageContent(intImageSize) As Byte
       Dim intStatus As Integer
       intStatus = ImageStream.Read(ImageContent, 0, intImageSize)

       ' 
    Create Instance of Connection and Command Object
       Dim myConnection 
    As New SqlConnection(
    ConfigurationSettings.AppSettings("ConnectionString"))
       
    Dim myCommand As New SqlCommand("sp_person_isp"myConnection)

       
    ' Mark the Command as a SPROC
       myCommand.CommandType = CommandType.StoredProcedure

       ' 
    Add Parameters to SPROC
       Dim prmPersonImage 
    As New SqlParameter("@PersonImage"SqlDbType.Image)
       
    prmPersonImage.Value ImageContent
       myCommand
    .Parameters.Add(prmPersonImage)

       
    Dim prmPersonImageType As New SqlParameter("@PersonImageType",
    SqlDbType.VarChar255)
       
    prmPersonImageType.Value strImageType
       myCommand
    .Parameters.Add(prmPersonImageType)

       Try
          
    myConnection.Open()
          
    myCommand.ExecuteNonQuery()
          
    myConnection.Close()
          
    Response.Write("New person successfully added!")
       Catch 
    SQLexc As SqlException
          Response
    .Write("Insert Failed. Error Details are: " SQLexc.ToString())
       
    End Try
    End Sub 
    شیء PersonImage نام کنترل HTMLInputFile است. در ابتدا ما نیاز داریم که اندازه تصویری که جهت اضافه کردن انتخاب شده را بدانیم که توسط کد زیر قابل اندازه گیری است:
    کد:
    intImageSize = PersonImage.PostedFile.ContentLength
    سپس نوع تصویر را با استفاده از خاصیت ContentType دریافت می کنیم. حال باید یک استریم از تصویر مربوطه دریافت شود:
    کد:
    ImageStream = PersonImage.PostedFile.InputStream
    در اینجا ما یک آرایه از بایتها بنام ImageContent که آماده نگهداری محتویات تصویر است، داریم. تصویر ورودی توسط متد Read از شیء Stream خوانده می شود. متد Read سه آرگومان می گیرد:
    1. موقعیت مکانی که محتویات تصویر در آن باید کپی شود.
    2. مکان شروع جهت خواندن.
    3. تعداد بایتهایی که باید خوانده شود.

    و دستور مربوط به خواندن هم به شکل زیر است:
    کد:
    intStatus = ImageStream.Read(ImageContent, 0, intImageSize)
    حالا ما می خواهیم محتویات تصویر ورودی را که خوانده ایم به یک جدول SQL اضافه کنیم. به همین منظور از یک زیرروال ذخیره شده که تصویر و نوع آن را به یک جدول اضافه می کند، بهره می بریم.

    فایل aspx مربوطه:
    کد PHP:
    <%@ Page Language="vb%>
    <%@ 
    Import Namespace="System.Data" %>
    <%@ 
    Import Namespace="System.Data.SqlClient" %>
    <%@ 
    Import Namespace="System.IO" %>
    <
    html>
       <
    head>
          <
    title>Inserting Image to a SqlServer</title>
          <
    script runat=server>
             Public 
    Sub AddPerson(sender As ObjectAs EventArgs)
                
    ' above code
             End Sub    
          </script>
       </head>

       <body>

          <form enctype="multipart/form-data" runat="server">
             <input type="file" id="PersonImage" runat=server />
             <asp:Button Text="Add Person" OnClick="AddPerson" Runat=server />
        </form>

      </body>
    </html>

    جدول و زیرروال استفاده شده: 
    Drop Table Person
    Go

    Create Table Person
    (
    PersonID Int Identity,
    PersonEmail Varchar(255),
    PersonName Varchar(255),
    PersonSex Char(1),
    PersonDOB DateTime,
    PersonImage Image,
    PersonImageType Varchar(255)
    )


    Drop Proc sp_person_isp
    Go
     
    Create Proc sp_person_isp
    @PersonEmail Varchar(255),
    @PersonName Varchar(255),
    @PersonSex Char(1),
    @PersonDOB DateTime,
    @PersonImage Image,
    @PersonImageType Varchar(255)
    As
    Begin
       Insert into Person 
          (PersonEmail, PersonName, PersonSex, 
           PersonDOB, PersonImage, PersonImageType)
       Values
          (@PersonEmail, @PersonName, @PersonSex, 
           @PersonDOB, @PersonImage, @PersonImageType)
    End
     
    Go 

    بازیابی تصاویر از SQL Server در ASP.NET:
    در مقایسه با اضافه کردن تصویر، بازیابی آن بسیار ساده است. تنها چیز جدید برای این قسمت استفاده از متد BinaryWrite موجود در شیء Response است.

    کدهای مورد استفاده جهت بازیابی تصاویر از SQL Server:
    کد PHP:
    Public Sub Page_Load(sender As ObjectAs EventArgs)

       
    Dim myConnection As New SqlConnection(
    ConfigurationSettings.AppSettings("ConnectionString"))
       
    Dim myCommand As New SqlCommand("Select * from Person"myConnection)

       Try
          
    myConnection.Open()
          
    Dim myDataReader as SqlDataReader 
          myDataReader 
    myCommand.ExecuteReader(CommandBehavior.CloseConnection)

          Do While (
    myDataReader.Read())
             
    Response.ContentType myDataReader.Item("PersonImageType")
             
    Response.BinaryWrite(myDataReader.Item("PersonImage"))
          
    Loop

          myConnection
    .Close()
          
    Response.Write("Person info successfully retrieved!")
       Catch 
    SQLexc As SqlException
          Response
    .Write("Read Failed : " SQLexc.ToString())
       
    End Try
    End Sub 
    تمام کار این مرحله اجرای یک دستور SQL و تکرار آن برای همه ردیفهاست. قبل از نمایش تصویر، نوع آن هم مشخص می شود.
    با M.S.P Soft به دنياي برنامه نويسي وارد شويد[برای نمایش لینک باید عضو شوید. ]
  2. 1
  3. #2
    night-wolf
    كاربر عادي
    تاریخ عضویت
    2014 Feb
    نوشته ها
    2
    5
    0
    خیلی کامله فقط اگه کد سی شارپش رو هم بذارید ممنون

    چون Convert کردنی یه نمه ناقص درمیاد کدها
  4. #3
    meysam99
    كاربر عادي
    تاریخ عضویت
    2014 Mar
    نوشته ها
    6
    0
    3
    سلام ممنون بابت آموزش شما.
    به نظر من اگه از sql 2012 استفاده میکنید از فایل تیبل استفاده کنید خیلی بهتر است مستقیم خود اس کی ال پوشه شما را مدیریت میکنه و سرعت خیلی بالاتری داره
    سايت خود را با پورتال کاج بسازيد

    [برای نمایش لینک باید عضو شوید. ]
  5. 1
نمایش نتایج: از 1 به 3 از 3

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. ارتباط دو سیستم در شبکه و مشاهده تصویر
    توسط goldpower در انجمن برنامه نویسی تحت شبکه در VB6
    پاسخ: 1
    آخرين نوشته: 2013-04-18, 07:00 PM
  2. دانلود اموزش تصویری ساختمان داده ها
    توسط MspSoft در انجمن الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 0
    آخرين نوشته: 2012-11-03, 10:28 AM
  3. دانلود دانلود پروژه پردازش تصویر در سی شارپ
    توسط MspSoft در انجمن #C
    پاسخ: 0
    آخرين نوشته: 2012-10-12, 09:19 AM
  4. پخش فایل های تصویری در html 5
    توسط MspSoft در انجمن طراحی وب (Web Design)
    پاسخ: 2
    آخرين نوشته: 2012-09-07, 09:51 PM
  5. پاسخ: 0
    آخرين نوشته: 2012-01-14, 02:04 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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

Content Relevant URLs by vBSEO 3.6.0 RC 2