asp.net+ajaxfileupload.js 实现文件异步上传代码分享_实用技巧

由于代码很简单,这里就闲话不多说了,直接上代码,小伙伴们自己研读代码就明白了。

前台代码: 

复制代码 代码如下:

/*修改头像*/ 
    //上传 
    function _sc() { 
        $(".ckfile").html("").css("color", "#535353"); 
        $("#_userImgPath").val(""); 
        var str = $("#file").val(); 
        if ($.trim(str) == "") { 
            $(".ckfile").html("请选择文件。").css("color", "red"); 
            return false; 
        } 
        else { 
            var postfix = str.substring(str.lastIndexOf(".") + 1).toUpperCase(); 
            if (postfix == "JPG" || postfix == "JPEG" || postfix == "PNG" || postfix == "GIF" || postfix == "BMP") { 
                $('#showimg').attr('src', 'Images/loading.gif').attr("title", "上传中,请稍后…"); 
                var path = "Upload/UserImg"; 
                $.ajaxFileUpload({ 
                    url: '/Upload.aspx?path=Upload|UserImg&shape=100*100', 
                    secureuri: false, 
                    fileElementId: 'file', 
                    dataType: 'text', 
                    success: function (msg) { 
                        if (msg.lastIndexOf(path) == -1) { 
                            $(".ckfile").html(msg).css("color", "red"); 
                        } 
                        else { 
                            $('#showimg').attr('src', msg).attr("title", "我的头像"); 
                            $("#_userImgPath").val(msg); 
                        } 
                    } 
                }); 
            } else { 
                $(".ckfile").html("文件格式错误。").css("color", "red"); 
                return false; 
            } 
        } 
    } 

后台代码:

复制代码 代码如下:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using SS.Upload; 
using WFC.Fenxiao; 
namespace wanfangcheng 

    public partial class Upload : BasePage 
    { 
        //文件大小 1024 kb 
        private long size = 1024; 
        //文件类型 
        private string type = ".jpg|.jpeg|.png|.gif|.bmp"; 
        //保存名称 
        string name = ""; 
        //保存路径 
        private string path = @"Upload/UserImg"; 
        //保存大小 
        private string shape = "100*100"; 
        protected void Page_Load(object sender, EventArgs e) 
        { 
            HttpFileCollection files = Request.Files; 
            if (files != null && files.Count > 0) 
            { 
                name = BaseRole.Instance.UserId.ToString(); 
                if (Request.QueryString["size"] != null) 
                { 
                    size = Convert.ToInt32(Request.QueryString["size"]); 
                } 
                if (Request.QueryString["path"] != null) 
                { 
                    path = Request.QueryString["path"].ToString().Trim().Replace('|', '/'); 
                } 
                if (Request.QueryString["name"] != null) 
                { 
                    name = Request.QueryString["name"].ToString().Trim(); 
                } 
                if (Request.QueryString["shape"] != null) 
                { 
                    shape = Request.QueryString["shape"].ToString().Trim(); 
                } 
                uploadMethod(files); 
            } 
        } 
        /// <summary> 
        /// 上传图片 
        /// </summary> 
        /// <param name="hc"></param> 
        public void uploadMethod(HttpFileCollection hc) 
        { 
            HttpPostedFile _file = hc[0]; 
            //文件大小 
            long _size = _file.ContentLength; 
            if (_size <= 0) 
            { 
                Response.Write("文件错误。"); 
                Response.End(); 
                return; 
            } 
            if (size * 1024 < _size) 
            { 
                Response.Write("文件过大,最大限制为" + size + "KB。"); 
                Response.End(); 
                return; 
            } 
            //文件名 
            string _name = _file.FileName; 
            //文件格式 
            string _tp = System.IO.Path.GetExtension(_name).ToLower(); 
            if (type.IndexOf(_tp) == -1) 
            { 
                Response.Write("文件格式错误。"); 
                Response.End(); 
                return; 
            } 
            //保存路径 
            string _path = HttpContext.Current.Server.MapPath(path) + @"/" + name + _tp; 
            try 
            { 
                int w = Convert.ToInt32(shape.Split('*')[0]); 
                int h = Convert.ToInt32(shape.Split('*')[1]); 
                ImageHelper.CutForCustom(_file, _path, w, h, 50); 
                Response.Write(path + @"/" + name + _tp); 
            } 
            catch (Exception) 
            { 
                Response.Write("哎呦,出错了。"); 
                Response.End(); 
            } 
        } 
    } 

是不是很实用,也很简单易懂呢,以上是自己项目中使用的代码,小伙伴们如果发现有问题的地方,还请告之。谢谢

时间: 2024-08-04 08:22:56

asp.net+ajaxfileupload.js 实现文件异步上传代码分享_实用技巧的相关文章

asp.net文件上传示例分享_实用技巧

方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: 复制代码 代码如下: <form id="form1" runat="server"><asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Button1" runat="server" T

asp.net html控件的File控件实现多文件上传实例分享_实用技巧

asp.net多文件上传使用html控件的File控件,在form中就需要加入[ enctype="multipart/form-data"]. up3.aspx文件代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="up3.aspx.cs" Inherits="up3" %> <!DOCTYPE ht

用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]_实用技巧

This project attempts to achieve a user-friendly file-uploading experience over the web. It's built as a Javascript plugin for developers looking to incorporate file-uploading into their website. Fine Uploader 不依赖于 jQuery,也就是说不引用jquery.js,也可以正常使用.同时,

asp.net中js和jquery调用ashx的不同方法分享_实用技巧

=============js================ 复制代码 代码如下: var xhr = new XMLHttpRequest();            xhr.open("get", 'Controls/gengCart.ashx?CartID=' + input + '&count=' + inp, true);            xhr.setRequestHeader("If-Modified-Since", "0&q

asp.net单文件带进度条上传的解决方案_实用技巧

最近做项目中遇到很多问题,比如带进度条的文件上传,看了网上很多资料还没找到真正意义上的ASP.NET实现进度条上传(可能是我没找到),下面我来跟大家分享一下我实现的这个程序. 首先看下界面效果,当然你可以完全修改界面为你自己所用. 先解释一下这个程序,该程序采用了jquery框架,实现了小文件上传,不超过80Mb,可以在web.config文件中进行相应的配置,但是有个最大值,具体需要查看msdn.开发环境采用visual studio 2013 .net framework 4.5,运行的时候

asp.net下实现支持文件分块多点异步上传的 Web Services_实用技巧

本文的客户端应用程序不包括 ASP.Net Web 应用程序! 本文假设 URL: http://localhost/mywebservices/updownload.asmx 共有 4 个程序文件 (Web.Config 就不赘述了) Server Side:  标题中所提到的 "异步" 其实在服务器端的程序并没有什么特殊的,而主要是通过客户端应用程序 异步调用相关 Web Method 实现的! 1. updownload.asmx ,位于 IIS 的某个 Web 共享目录,代码如

asp.net实现文件无刷新上传方法汇总_实用技巧

遇到上传文件的问题,结合之前用到过的swfUpload,又找了一个无刷新上传文件的jquery插件uploadify,写篇博客记录一下分别介绍这两个的实现方法 swfUpload 导入swfUpload的开发包 添加js引用,引用swfUpload.js与handler.js文件,如果对swfUpload不了解.有疑问可以看看这篇文章 页面初始化 修改handler.js文件中 上传成功的事件,serverData是服务器端的响应 Uploadify 导入uploadify开发包,从官网下载,官

asp.net 文件上传实例汇总_实用技巧

ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: 复制代码 代码如下:      <form id="form1" runat="server">     <asp:FileUpload ID="FileUpload1" runat="server"

asp.net多文件上传实例讲解_实用技巧

文件上传简单实现是非常容易的,但是想要更高的要求,比如通过ajax上传文件.一次上传多个文件.文件比较大等等,这里面的坑就不是很容易填(对于新手来说).因此在这里我准备通过ajax实现多文件上传.在开始贴代码之前,要注意几点: 1.<input type="file" />是必须要加name的,不知道为什么不加name属性,后台获取不到文件数据(有办法的大神可以在评论区提醒我),然后是multiple属性,当multiple="multiple"时,fi