ajax图片上传(asp.net +jquery+ashx)

web开发作者:dayu日期:5天前点击:0
  • <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
  • <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <htmlxmlns="http://www.w3.org/1999/xhtml">
  • <headrunat="server">
  • <title>ajax图片上传</title>
  • <scriptsrc="js/jquery-1.3.2.min.js"type="text/javascript"></script>
  • <scriptsrc="js/jquery.form.js"type="text/javascript"></script>
  • <scripttype="text/javascript">
  • functionupload(){
  • varpath=document.getElementById("File1").value;
  • varimg=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?"+newDate();/*上传后刷新图片*/}
  • elseif(str=="2"){alert("只能上传jpg格式的图片");}
  • elseif(str=="3"){alert("图片不能大于1M");}
  • elseif(str=="4"){alert("请选择要上传的文件");}
  • else{alert(‘操作失败!‘);}
  • }
  • elsealert(‘操作失败!‘);
  • },
  • error:function(error){alert(error);},
  • url:‘Handler.ashx‘,/*设置post提交到的页面*/
  • type:"post",/*设置表单以post方法提交*/
  • dataType:"text"/*设置返回值类型为文本*/
  • });
  • }
  • </script>
  • </head>
  • <body>
  • <formid="form1"runat="server">
  • <inputid="File1"name="File1"type="file"/>
  • <inputid="iptUp"type="button"value="上传Logo"onclick="upload()"/>
  • <imgid="img1"alt="网站Logo"src="images/weblogo.jpg"/>
  • </form>
  • </body>
  • </html>


  • 二、新建一个一般处理文件Handler.ashx

    [csharp]view plaincopy


      1. <%@WebHandlerLanguage="C#"Class="Handler"%>
      2. usingSystem;
      3. usingSystem.Web;
      4. publicclassHandler:IHttpHandler{
      5. publicvoidProcessRequest(HttpContextcontext){
      6. HttpPostedFile_upfile=context.Request.Files["File1"];
      7. if(_upfile==null)
      8. {
      9. ResponseWriteEnd(context,"4");//请选择要上传的文件
      10. }
      11. else
      12. {
      13. stringfileName=_upfile.FileName;/*获取文件名:C:\DocumentsandSettings\Administrator\桌面\123.jpg*/
      14. stringsuffix=fileName.Substring(fileName.LastIndexOf(".")+1).ToLower();/*获取后缀名并转为小写:jpg*/
      15. intbytes=_upfile.ContentLength;//获取文件的字节大小
      16. if(suffix!="jpg")
      17. ResponseWriteEnd(context,"2");//只能上传JPG格式图片
      18. if(bytes>1024*1024)
      19. ResponseWriteEnd(context,"3");//图片不能大于1M
      20. _upfile.SaveAs(HttpContext.Current.Server.MapPath("~/images/logo.jpg"));//保存图片
      21. ResponseWriteEnd(context,"1");//上传成功
      22. }
      23. }
      24. privatevoidResponseWriteEnd(HttpContextcontext,stringmsg)
      25. {
      26. context.Response.Write(msg);
      27. context.Response.End();
      28. }
      29. publicboolIsReusable{
      30. get{
      31. returnfalse;
      32. }
      33. }
      34. }

    项目结构图

    技术分享

    技术分享

    ajax图片上传(asp.net +jquery+ashx)

    原文地址:http://www.cnblogs.com/Jeremy2001/p/7226534.html


    下一篇       上一篇