<strong>前台:upload.htm</strong> <br><div class="codetitle"> <span><a style="CURSOR: pointer" data="43058" class="copybut" id="copybut43058" onclick="doCopy('code43058')"><u>复制代</u></a></span>代码如下:</div> <div class="codebody" id="code43058"> <br>< ;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br><html xmlns="http://www.w3.org/1999/xhtml"> <br><head runat="server"> <br><title>アップロード</title> <br><link href="upload.css" rel="スタイルシート" /> <br></head> <br> <br> <br><ul> <br><li> <br><button id="SubUpload" onclick="TSSubmitUploadImageFile();return false;"> <br>确定上传</button> <br><button id="CancelUpload" class="ManagerButton" onclick="javascript:history.go(-1);"> <br>取消</ボタン> <br><button id="AddUpload" class="ManagerButton" onclick="TAddFileUpload();return false;"> <br>增加</ボタン> <br></li> <br> </li> </ul> <br><ul id="loadimage"> <br><li> <br><div class="imagelabel"> <br>図1:</div> <br><div class="imagepath"> <br><input name="" size="45" id="uploadImg1" type="file" /></div> <br><div class="loadinfo"> <br><span id="uploadImgState1"></span> <br> </li> </div> <br></li> <br> <br></form> <br></body> <br></html> <br><script type="text/javascript" src="http://www.cnblogs.com/JS/jquery-1.3.2-vsdoc.js"></script> <br><script type="text/javascript"> <br>var TfileUploadNum = 1; //记录写真选择框数<br>var Tnum = 1; //ajax 上传图片時間インデックス <br>//增上传按钮 <br>function TAddFileUpload() { <br>var idnum = TfileUploadNum 1; <br>var str = "<li>"; <BR>str = "<div class='imagelabel'>画像" idnum ":</div>"; <br>str = "<div class='imagepath'><input name='' size='45' id='uploadImg" idnum "' type='file' /></div>" ; <br>str = "<div class='loadinfo'><span id='uploadImgState" idnum "'></span></div>"; <br>str = "</li>"; <br>$("#loadimage").append(str); <br>TfileUploadNum = 1; <br>} <br>//開始上传 <br>function TSubmitUploadImageFile() { <br>document.getElementById("SubUpload").disabled = true; <br>document.getElementById("CancelUpload").disabled = true; <br>document.getElementById("AddUpload").disabled = true; <br>setTimeout("TajaxFileUpload()", 1000); //これは关键代码 <br>} <br>//Ajax 上メソッド <br>function TajaxFileUpload() { <br>if (Tnum < TfileUploadNum 1) { <BR>//標準备提交处処理 <BR>$ ("#uploadImgState" Tnum).html("<img src='/gif/upfileloader.gif'/ alt="jqueryバッチアップロード画像の実装 code_jquery" >"); <BR>//开始提交 <BR>$.ajax({ <BR>type: "POST", <BR>url: "Handler.ashx", <BR>data: { upfile: $("#uploadImg" Tnum ).val()}, <BR>success: function(data, status) { <BR>var stringArray = data.split("|"); <BR>//stringArray[0] 成功状態态(1は成功、 0 は失败) <BR>//stringArray[1] 上成功した文件名 <BR>//stringArray[2] 消息提示 <BR>if (stringArray[0] == "1") { <BR>//上传成功 <BR>$("#uploadImgState" Tnum).html("<img src='/gif/Success.gif' />" stringArray[1] "--" stringArray[2]); >} <BR>else { <BR>//上传出错 <BR>$("#uploadImgState" Tnum).html("<img src='/gif/Error.gif' />" stringArray[1] "-" stringArray[2]); <br>} <br>setTimeout("TajaxFileUpload()", 1000); <br>} <br>else { <br>document.getElementById("SubUpload").disabled = false; <br>document.getElementById("CancelUpload").disabled = false; <br>document.getElementById("AddUpload").disabled = false; <br>} <br>} <br></script> <br><br> <br><br>处理程序Handler.ashx <br><br><strong><br></strong>复制代码<div class="codetitle"><span><a style="max-width:90%" data="34772" class="copybut" id="copybut34772" onclick="doCopy('code34772')"> 代码如下:<u><div class="codebody" id="code34772"> <br><br>using System; <br>using System.IO; System.Text; <br>using System.Net; <br>パブリック クラス ハンドラー : IHttpHandler <br>{ <br>public void ProcessRequest(HttpContext context) <br>{ <br>//ソース イメージ パス<br>文字列_fileNamePath = ""; <br>try <br>{ <br>_fileNamePath = context.Request.Form["upfile"]; <br>string _savedFileResult = UpLoadFile(_fileNamePath); // アップロードを開始します<br> .Write(_savedFileResult);//アップロード結果を返します<br>} <br>catch <br>{ <br>context.Response.Write("0|error|ファイルパスエラー"); > } <br>/// <summary> <br>/// 画像を保存<br>/// </summary> <br>/// <param name="fileNamePath"></ param> ; <BR>/// <returns></returns> <br>private string UpLoadFile(string fileNamePath) <br>{ <br>//ピクチャ形式<br>string fileNameExt = fileNamePath.Substring(fileNamePath. IndexOf ('.')).ToLower(); <br>if (!CheckFileExt(fileNameExt)) return "0|error|画像の形式が正しくありません!"; <br>//保存パス<br>string toFilePath = "ProductUpload /"; <br>//物理フルパス<br>string toFileFullPath = HttpContext.Current.Server.MapPath(toFilePath); <br>//パスが存在するかどうかを確認し、存在しない場合は作成します。<br>if ( !Directory.Exists (toFileFullPath)) <br>{ <br>Directory.CreateDirectory(toFileFullPath); <br>} <br>//保存されるランダムなファイル名を生成します<br>string toFileName = GetFileName(); <br>//フルパスが保存されます<br>string saveFile=toFileFullPath toFileName fileNameExt; <br>//WebClient インスタンスを作成します<br>WebClient myWebClient = new WebClient()<br>//Windows ネットワーク セキュリティ認証を設定します<br>myWebClient.Credentials = CredentialCache.DefaultCredentials; <br>//アップロードするファイル<br>FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read); <br>BinaryReader r = new BinaryReader(fs) ); <br> //次の形式で UploadFile メソッドを使用します。 <br>myWebClient.UploadFile(saveFile,fileNamePath); <br>return "1|" toFileName fileNameExt "|Save success."; >/// <summary><br>/// 画像タイプの検出 <br>/// </summary> <br>/// <param name="_fileExt"></param> 🎜>/// <returns>正しく True を返します</returns> <br>private bool CheckFileExt(string _fileExt) <br>{ <br>string[] allowedExt = new string[] { ".gif", ". jpg", ".jpeg" }; <br>for (int i = 0; i <allowext.length i>{ <br>if (allowExt[i] == _fileExt) { return true; } <br>} <br>return <br>} <br>/// <summary> <br>/// ランダムな画像名を取得します<br>/// </summary> // <returns> </returns> <br>パブリック静的文字列 GetFileName() <br>ランダム rd = new Random(); <br>StringBuilder シリアル = new StringBuilder(); .Append(DateTime.Now .ToString("yyMMddHHmmssff")); <br>serial.Append(rd.Next(0, 9999).ToString()); <br>public bool IsReusable <br>{ <br>get <br>{ <br>return false <br>} <br>} <br>} <br><br> <br><br>CSS スタイルUpload.css<br> <br><br><br><br><br>コードをコピー<br><br><br> コードは次のとおりです。</allowext.length> </div> <br> <strong>body{font -size: 12pt;} </strong> ul{list-style: none;} <br>li{margin: 0px;} <div class="codetitle">#loadimage{width: 860px;overflow: hidden;} <span>.imagelabel{ float : 左; 幅: 60px; 高さ: 25px;} <a style="CURSOR: pointer" data="12746" class="copybut" id="copybut12746" onclick="doCopy('code12746')">.imagepath{float: 左; 幅: 400px; 高さ: 25px;} <u></u></a></span> </div></u></a></span></div>