توضیحات و دانلود

آپلود فایل ها، ذخیره در پوشه و نمایش در GridView با دانلود و حذف گزینه در ASP.Net
0 0
آپلود فایل ها، ذخیره در پوشه و نمایش در GridView با دانلود و حذف گزینه در ASP.Net

با سلام در این مقاله با مثال توضیح خواهیم داد که چگونه فایل ها را آپلود کنید و در پوشه (دایرکتوری) در دیسک سرور ذخیره کنید و در GridView با استفاده از C # و VB.Net نمایش دهید.
فایل آپلود شده را می توان از پوشه (دایرکتوری) در ASP.Net پاک کرد و آن را دانلود کرد.
کد HTML
کد HTML زیر شامل یک GridView، یک کنترل FileUpload و یک دکمه است.

<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="UploadFile" />
<hr />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" EmptyDataText = "No files uploaded">
    <Columns>
        <asp:BoundField DataField="Text" HeaderText="File Name" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID="lnkDownload" Text = "Download" CommandArgument = '<%# Eval("Value") %>' runat="server" OnClick = "DownloadFile"></asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:LinkButton ID = "lnkDelete" Text = "Delete" CommandArgument = '<%# Eval("Value") %>' runat = "server" OnClick = "DeleteFile" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

فضاهای نام
شما باید فضای نامی را وارد کنید.
C #

using System.IO;

VB.Net

Imports System.IO

آپلود فایل و ذخیره در پوشه (دایرکتوری) بر روی دیسک سرور
هنگامی که فایل در کنترل FileUpload انتخاب شده است و دکمه بارگذاری  کلیک می شود، رویداد زیر اجرا می شود.
فایل آپلود شده در پوشه (دایرکتوری) با نام Uploads ذخیره می شود و صفحه به صورت خودکارجهت نمایش فایل آپلود شده در GridView هدایت می شود.
C #

protected void UploadFile(object sender, EventArgs e)
{
    string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
    FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Uploads/") + fileName);
    Response.Redirect(Request.Url.AbsoluteUri);
}

VB.Net

Protected Sub UploadFile(ByVal sender As Object, ByVal e As EventArgs)
    Dim fileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
    FileUpload1.PostedFile.SaveAs((Server.MapPath("~/Uploads/") + fileName))
    Response.Redirect(Request.Url.AbsoluteUri)
End Sub

نمایش فایل ها از پوشه (دایرکتوری) درGridView
در داخل رویداد بارگذاری صفحه، لیستی از همه فایل ها در پوشه بارگذاری به یک رشته آرایه با استفاده از روش GetFiles از کلاس دایرکتوری وارد می شود .
سپس، مقادیر آرایه به یک مجموعه لیست عمومی متشکل از اجسام از کلاس ListItem کپی و سپس آن را برای پر کردن کنترل GridView استفاده می شود.
C #

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string[] filePaths = Directory.GetFiles(Server.MapPath("~/Uploads/"));
        List<ListItem> files = new List<ListItem>();
        foreach (string filePath in filePaths)
        {
            files.Add(new ListItem(Path.GetFileName(filePath), filePath));
        }
        GridView1.DataSource = files;
        GridView1.DataBind();
    }
}

VB.Net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
    If Not IsPostBack Then
        Dim filePaths() As String = Directory.GetFiles(Server.MapPath("~/Uploads/"))
        Dim files As List(Of ListItem) = New List(Of ListItem)
        For Each filePath As String In filePaths
            files.Add(New ListItem(Path.GetFileName(filePath), filePath))
        Next
        GridView1.DataSource = files
        GridView1.DataBind()
    End If
End Sub

بارگیری فایل آپلود شده
هنگامی که دکمه دانلود در GridView ردیف کلیک شده است، پردازنده رویداد زیر اجرا می شود.
مسیر فایل از ویژگی CommandArgument دررویداد LinkButton آورده شده .
در نهایت، با استفاده از روش WriteFile از کلاس Response ، فایل با استفاده از مسیر آن در جریان Response نوشته و فایل بارگیری می شود.
C #

protected void DownloadFile(object sender, EventArgs e)
{
    string filePath = (sender as LinkButton).CommandArgument;
    Response.ContentType = ContentType;
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath));
    Response.WriteFile(filePath);
    Response.End();
}

VB.Net

Protected Sub DownloadFile(ByVal sender As Object, ByVal e As EventArgs)
    Dim filePath As String = CType(sender, LinkButton).CommandArgument
    Response.ContentType = ContentType
    Response.AppendHeader("Content-Disposition", ("attachment; filename=" + Path.GetFileName(filePath)))
    Response.WriteFile(filePath)
    Response.End()
End Sub

حذف فایل آپلود شده
وقتی دکمه حذف درردیف GridView کلیک می شود، پردازنده رویداد بعدی اجرا می شود.
مسیر فایل از ویژگی CommandArgument در رویداد LinkButton آورده شده .
در نهایت، با استفاده از روش حذف کلاس File ، فایل حذف می شود.
C #

protected void DeleteFile(object sender, EventArgs e)
{
    string filePath = (sender as LinkButton).CommandArgument;
    File.Delete(filePath);
    Response.Redirect(Request.Url.AbsoluteUri);
}

VB.Net

Protected Sub DeleteFile(ByVal sender As Object, ByVal e As EventArgs)
    Dim filePath As String = CType(sender, LinkButton).CommandArgument
    File.Delete(filePath)
    Response.Redirect(Request.Url.AbsoluteUri)
End Sub


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :