Asp.netUploadFile文件上傳

程序員在開發(fā)網(wǎng)站的過程中,難免會(huì)遇到些文件需要上傳到服務(wù)器上面去。因此,就會(huì)借助一些擴(kuò)展控件。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比長垣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式長垣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋長垣地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

下面就為大家介紹一個(gè)上傳文件的好用控件--UploadFile

1、創(chuàng)建一個(gè)測試網(wǎng)站,取名叫:UploadDemo

2、添加UploadFile控件所需要的文件

3、添加一個(gè)名叫UploadHandler.ashx 的一般處理文件

建好后的網(wǎng)站結(jié)構(gòu)如下:

 

Asp.net UploadFile 文件上傳 

接下來,我們就要在Default.aspx頁面添加代碼了,寫之前,需要添加UploadFile 用到的css 文件和js文件,Default.aspx 文件的完整代碼如下:

 

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="UploadDemo._Default" %> 
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" > 
  6. <head runat="server"> 
  7.     <title></title> 
  8.     <link href="uploadify/example/css/default.css" rel="stylesheet" type="text/css" /> 
  9.     <link href="uploadify/uploadify.css" rel="stylesheet" type="text/css" /> 
  10.     <script src="uploadify/jquery-1.3.2.min.js" type="text/javascript"></script> 
  11.     <script src="uploadify/jquery.uploadify.v2.1.0.min.js" type="text/javascript"></script> 
  12.     <script src="uploadify/swfobject.js" type="text/javascript"></script> 
  13.     <script type="text/javascript"> 
  14.         $(document).ready(function() {  
  15.             $("#uploadify").uploadify({  
  16.                 'uploader': 'uploadify/uploadify.swf',  
  17.                 'script': 'UploadHandler.ashx',  
  18.                 'cancelImg': 'uploadify/cancel.png',  
  19.                 'folder': 'UploadFile',  
  20.                 'queueID': 'fileQueue',  
  21.                 'sizeLimit': 2048000000,  
  22.                 'buttonText':'瀏覽...',  
  23.                 'auto': false,  
  24.                 'multi': true  
  25.             });  
  26.         });    
  27.     </script> 
  28.       
  29. </head> 
  30. <body> 
  31.     <form id="form1" runat="server"> 
  32.     <div id="fileQueue"></div> 
  33.     <input type="file" name="uploadify" id="uploadify" /> 
  34.     <p> 
  35.       <a href="javascript:$('#uploadify').uploadifyUpload()">上傳</a>|   
  36.       <a href="javascript:$('#uploadify').uploadifyClearQueue()">取消上傳</a> 
  37.     </p> 
  38.  
  39.     </form> 
  40. </body> 
  41. </html> 

然后,我們就需要寫一般處理文件中的代碼了,代碼的功能就是做上傳處理,詳細(xì)代碼如下:

 

  1. public void Proce***equest(HttpContext context)  
  2. {  
  3.     context.Response.ContentType = "text/plain";  
  4.     context.Response.Charset = "utf-8";  
  5.  
  6.     HttpPostedFile file = context.Request.Files["Filedata"];  
  7.     string uploadPath =  
  8.         HttpContext.Current.Server.MapPath(@context.Request["folder"]) + "\\";  
  9.  
  10.     if (file != null)  
  11.     {  
  12.         if (!Directory.Exists(uploadPath))  
  13.         {  
  14.             Directory.CreateDirectory(uploadPath);  
  15.         }  
  16.         file.SaveAs(uploadPath + file.FileName);  
  17.         //下面這句代碼缺少的話,上傳成功后上傳隊(duì)列的顯示不會(huì)自動(dòng)消失  
  18.         context.Response.Write("1");  
  19.     }  
  20.     else  
  21.     {  
  22.         context.Response.Write("0");  
  23.     }    
  24.  
  25. }  

最終運(yùn)行的效果如下:

 

Asp.net UploadFile 文件上傳 

 說到這里,還需要強(qiáng)調(diào)一下的是,現(xiàn)在如果需要上傳文件大于4M的話,那就需要在Web.config文件中加一句話,否則,上傳的時(shí)候就會(huì)報(bào)錯(cuò),同樣,我還是把代碼貼出來

 

Asp.net UploadFile 文件上傳

接下來,需要說明一些參數(shù)的意思以及如何使用:

 

uploader: uploadify.swf 文件的相對路徑,該swf文件是一個(gè)帶有文字BROWSE的按鈕,點(diǎn)擊后淡出打開文件對話框,默認(rèn)值:uploadify.swf。
script:   后臺(tái)處理程序的相對路徑 。默認(rèn)值:uploadify.php
checkScript:用來判斷上傳選擇的文件在服務(wù)器是否存在的后臺(tái)處理程序的相對路徑
fileDataName:設(shè)置一個(gè)名字,在服務(wù)器處理程序中根據(jù)該名字來取上傳文件的數(shù)據(jù)。默認(rèn)為Filedata
method: 提交方式Post 或Get 默認(rèn)為Post
scriptAccess :flash腳本文件的訪問模式,如果在本地測試設(shè)置為always,默認(rèn)值:sameDomain 
folder :  上傳文件存放的目錄 。
queueID :文件隊(duì)列的ID,該ID與存放文件隊(duì)列的div的ID一致。
queueSizeLimit :當(dāng)允許多文件生成時(shí),設(shè)置選擇文件的個(gè)數(shù),默認(rèn)值:999 。
multi :設(shè)置為true時(shí)可以上傳多個(gè)文件。
auto :設(shè)置為true當(dāng)選擇文件后就直接上傳了,為false需要點(diǎn)擊上傳按鈕才上傳 。
fileDesc :這個(gè)屬性值必須設(shè)置fileExt屬性后才有效,用來設(shè)置選擇文件對話框中的提示文本,如設(shè)置fileDesc為“請選擇rar doc pdf文件”,打開文件選擇框效果如下圖:

 

Asp.net UploadFile 文件上傳

fileExt :設(shè)置可以選擇的文件的類型,格式如:'*.doc;*.pdf;*.rar' 。
sizeLimit :上傳文件的大小限制 。
simUploadLimit :允許同時(shí)上傳的個(gè)數(shù) 默認(rèn)值:1 。
buttonText :瀏覽按鈕的文本,默認(rèn)值:BROWSE 。
buttonImg :瀏覽按鈕的圖片的路徑 。
hideButton :設(shè)置為true則隱藏瀏覽按鈕的圖片 。
rollover :值為true和false,設(shè)置為true時(shí)當(dāng)鼠標(biāo)移到瀏覽按鈕上時(shí)有反轉(zhuǎn)效果。
width :設(shè)置瀏覽按鈕的寬度 ,默認(rèn)值:110。
height :設(shè)置瀏覽按鈕的高度 ,默認(rèn)值:30。
wmode :設(shè)置該項(xiàng)為transparent 可以使瀏覽按鈕的flash背景文件透明,并且flash文件會(huì)被置為頁面的最高層。 默認(rèn)值:opaque 。
cancelImg:選擇文件到文件隊(duì)列中后的每一個(gè)文件上的關(guān)閉按鈕圖標(biāo),如下圖:

 

Asp.net UploadFile 文件上傳

最后,還需要解決一個(gè)很重要的問題,那就是按鈕的中文顯示問題,依照上面的方式做出來的,如果給按鈕設(shè)置顯示文字為中文,那么,會(huì)遇到出現(xiàn)亂碼問題。因此,博主考慮到了,提供的解決辦法如下:

改變字符編碼解碼方式

既然知道亂碼是編碼解碼的原因,最好的解決方法當(dāng)然是更改編碼解碼方式了。encodeURI() 方法,可以把URI字符串采用UTF-8編碼格式轉(zhuǎn)化成escape格式的字符串,而且咱們的中文也屬于UTF-8字符集里面的,再用decodeURI()進(jìn)行解碼。具體修改代碼如下:

A. jquery.uploadify.js 中的

if(settings.buttonText) data.buttonText = escape(settings.buttonText);
改為:


if (settings.buttonText) data.buttonText = encodeURI(settings.buttonText);
B. uploadify.fla中的

browseBtn.empty.buttonText.text = unescape(param.buttonText);
改為:browseBtn.empty.buttonText.text = decodeURI(param.buttonText);

不過本人還是比較喜歡第一種,第二種方式的話,圖片加載起來會(huì)比較緩慢;好 了!現(xiàn)在基本上已經(jīng)完成了!去享受自己的勞動(dòng)成果吧?。。。。。。?!    

 

文章題目:Asp.netUploadFile文件上傳
文章來源:http://muchs.cn/article34/ighese.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、ChatGPT、品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、做網(wǎng)站、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營