استفاده از کنترل FileUpload جهت آپلود فایل
دات نت فریمورک، کنترل FileUpload را برای سادگی در آپلود فایلها از صفحات وب، پیشنهاد میکند.
اکنون باید کد برنامه را بنویسیم. این کد را در رویداد btnSubmit_Click() می نویسیم. زمانی که رویداد btmSubmit_Click() اجرا میشود، ابتدا کد مربوطه چک می کند که آیا کاربر فایلی را برای آپلود انتخاب کرده است یا نه. سپس یک الگو را برای بیرون کشیدن نام فایل و پسوند فایل، تعریف میکند. زمانی که این الگو تطبیق یافت، متد fileUpEx.PostedFile.SaveAs() با مسیر کامل مکانی که فایل باید در آنجا ذخیره شود، صدا زده می شود. در این مثال، ما Server.MapPath(“.\\”) یعنی دایرکتوری جاری و نام فایل (filename) را به هم متصل می کنیم.
در این مثال، ابتدا باید فضانام System.Text.RegularExpressions را به برنامه اضافه کنیم. فضانام System.Text.RegularExpressions شامل کلاسهایی است که جهت استخراج نام فایل از فایل مورد نظر برای آپلود، از آن استفاده میشود.پس این فضانام را به برنامه اضافه کنید:
using System.Text.RegularExpressions; |
پس از آن کنترل FileUpload و یک button و یک کنترل label را به صفحه ی .aspx اضافه میکنیم:
<table>
<tr>
<td align="center" class="header1" style="width:100%"> File to Upload:td>
tr>
<tr>
<td>
<asp:FileUpload ID="fileUpEx" runat="server" /><br />
<asp:button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" />
<br /> <asp:label ID="lblStatus" runat="server">asp:label>
td>
tr>
table> |
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (fileUpEx.PostedFile != null)
{
string filepath = fileUpEx.PostedFile.FileName;
string pat = @"\\(?:.+)\\(.+)\.(.+)";
Regex r = new Regex(pat);
//run
Match m = r.Match(filepath);
string file_ext = m.Groups[2].Captures[0].ToString();
string filename = m.Groups[1].Captures[0].ToString();
string file = filename + "." + file_ext;
//save the file to the server
fileUpEx.PostedFile.SaveAs(Server.MapPath(".\\") + file);
lblStatus.Text = "File Saved to: " + Server.MapPath(".\\") + file;
}
} |
کد کامل برنامه :
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
public partial class upload_Default : System.Web.UI.Page
{
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (fileUpEx.PostedFile != null)
{
string filepath = fileUpEx.PostedFile.FileName;
string pat = @"\\(?:.+)\\(.+)\.(.+)";
Regex r = new Regex(pat);
//run
Match m = r.Match(filepath);
string file_ext = m.Groups[2].Captures[0].ToString();
string filename = m.Groups[1].Captures[0].ToString();
string file = filename + "." + file_ext;
//save the file to the server
fileUpEx.PostedFile.SaveAs(Server.MapPath(".\\") + file);
lblStatus.Text = "File Saved to: " + Server.MapPath(".\\") + file;
}
}
} |
+ نوشته شده در پنجشنبه ۱۳۸۷/۱۱/۲۴ ساعت 0:20 توسط #امیر محمد#
|