標籤:nts err toc inpu and XML tin 1.0 mini
一、建立Default.aspx頁面
[csharp] view plain copy
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
-
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title>ajax圖片上傳</title>
- <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
- <script src="js/jquery.form.js" type="text/javascript"></script>
-
- <script type="text/javascript">
- function upload(){
- var path = document.getElementById("File1").value;
- var img = document.getElementById("img1");
- if($.trim(path)==""){
- alert("請選擇要上傳的檔案");
- return;
- }
-
- $("#form1").ajaxSubmit({
- success: function (str) {
- if(str!=null && str!="undefined"){
- if (str == "1") {alert("上傳成功");document.getElementById("img1").src="images/logo.jpg?"+new Date();/*上傳後重新整理圖片*/}
- else if(str=="2"){alert("只能上傳jpg格式的圖片");}
- else if(str=="3"){alert("圖片不能大於1M");}
- else if(str=="4"){alert("請選擇要上傳的檔案");}
- else {alert(‘操作失敗!‘);}
- }
- else alert(‘操作失敗!‘);
- },
- error: function (error) {alert(error);},
- url:‘Handler.ashx‘, /*設定post提交到的頁面*/
- type: "post", /*設定表單以post方法提交*/
- dataType: "text" /*設定傳回值類型為文本*/
- });
- }
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <input id="File1" name="File1" type="file" />
- <input id="iptUp" type="button" value="上傳Logo" onclick="upload()"/>
- <img id="img1" alt="網站Logo" src="images/weblogo.jpg" />
- </form>
- </body>
- </html>
二、建立一個一般處理檔案Handler.ashx
[csharp] view plain copy
- <%@ WebHandler Language="C#" Class="Handler" %>
-
- using System;
- using System.Web;
-
- public class Handler : IHttpHandler {
-
- public void ProcessRequest (HttpContext context) {
- HttpPostedFile _upfile = context.Request.Files["File1"];
- if (_upfile == null)
- {
- ResponseWriteEnd(context, "4");//請選擇要上傳的檔案
- }
- else
- {
- string fileName = _upfile.FileName;/*擷取檔案名稱: C:\Documents and Settings\Administrator\案頭\123.jpg*/
- string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower();/*擷取尾碼名並轉為小寫: jpg*/
- int bytes = _upfile.ContentLength;//擷取檔案的位元組大小
-
- if (suffix != "jpg")
- ResponseWriteEnd(context, "2"); //只能上傳JPG格式圖片
- if (bytes > 1024 * 1024)
- ResponseWriteEnd(context, "3"); //圖片不能大於1M
-
- _upfile.SaveAs(HttpContext.Current.Server.MapPath("~/images/logo.jpg"));//儲存圖片
- ResponseWriteEnd(context, "1"); //上傳成功
- }
- }
-
- private void ResponseWriteEnd(HttpContext context, string msg)
- {
- context.Response.Write(msg);
- context.Response.End();
- }
-
- public bool IsReusable {
- get {
- return false;
- }
- }
- }
項目結構圖
ajax圖片上傳(asp.net +jquery+ashx)