前台代码:

/*修改头像*/  
    //上传  
    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();  
            }  
        }  
    }  
}  

asp.net 基于ajaxfileupload.js 实现文件异步上传的更多相关文章

  1. 使用AjaxFileUpload.js实现文件异步上�

    ajax是无法提交文件的,所以在上传图片并预览的时候,我们常常使用Ifame的方法实现看似异步的效果.可是这样总不是非常方便的,AjaxFilleUpload.js对上面的方法进行了一个包装,使得我们 ...

  2. js 文件异步上传 显示进度条 显示上传速度 预览文件

    通常文件异步提交有几个关键 1.支持拖拽放入文件.2.限制文件格式.3.预览图片文件.4.上传进度,速度等,上传途中取消上传.5.数据与文件同时上传 现在开始笔记: 需要一个最基础的元素<inp ...

  3. SpringMVC + AJAX 实现多文件异步上传

    转自:https://www.jianshu.com/p/f3987f0f471f 今天,我就这个问题来写一篇如何用 SpringMVC + AJAX 实现的多文件异步上传功能.基本的代码还是沿用上篇 ...

  4. HTML5实现图片文件异步上传

    原文:HTML5实现图片文件异步上传 利用HTML5的新特点做文件异步上传非常简单方便,本文主要展示JS部分,html结构.下面的代码并未使用第三发库,如果有参照,请注意一些未展现出来的代码片段.我这 ...

  5. 文件的上传(表单上传和ajax文件异步上传)

    项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举的主要对于小文件上传的处理! 资源下载: 一. ...

  6. 普通文件的上传(表单上传和ajax文件异步上传)

    一.表单上传: html客户端部分: <form action="upload.ashx" method="post" enctype="mul ...

  7. MVC文件上传04-使用客户端jQuery-File-Upload插件和服务端Backload组件实现多文件异步上传

    本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传.MVC文件上传相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小  ...

  8. 文件的上传(1)(表单上传和ajax文件异步上传)

    文件的上传(表单上传和ajax文件异步上传) 项目中用户上传总是少不了的,下面就主要的列举一下表单上传和ajax上传!注意: context.Request.Files不适合对大文件进行操作,下面列举 ...

  9. 小程序使用 Promise.all 完成文件异步上传

    小程序使用 Promise.all 完成文件异步上传 extends [微信小程序开发技巧总结(二) -- 文件的选取.移动.上传和下载 - Kindear - 博客园 (cnblogs.com)] ...

随机推荐

  1. Codeforces Round #546 (Div. 2) E - Nastya Hasn't Written a Legend

    这题是一个贼搞人的线段树 线段树维护的是 区间和a[i - j] 首先对于update的位置可以二分查找 其次update时候的lazy比较技巧 比如更新的是 l-r段,增加的是c 那么这段的值为: ...

  2. Go实现Pow工作量证明

    之前使用python编写了一段代码实现了工作量证明机制,近期由于参与以太坊智能合约开发钱包的工作接触到golang语言,所以借此以go来实现Pow(Proof of work). 实现代码如下: // ...

  3. 2013337朱荟潼 Linux&深入理解计算机系统第七章读书笔记——链接

    第七章--链接 0.总结 链接编译时可以采用静态链接或动态链接. 连接器主要任务:符号解析和重定位. 多个目标文件可定义相同的符号,可以被连接到一个单独的静态库. 链接器可以生成部分链接的可执行文件 ...

  4. Visual studio 2013 安装的漫长过程

    本周有一个任务是安装VS 2013版本,下载了安装包,七点多G,oh my god!!! 图上维持了两三个小时,可能我电脑台low了..... 因为是win7系统,需要进行重启电脑. 安装成功之后. ...

  5. node之文件的静态资源的托管

    /** * 文件的静态资源托管 */ let express = require('express'); let path =require('path'); let app = express(); ...

  6. Linux命令(十八) 压缩或解压缩文件和目录 gzip gunzip

    目录 1.命令简介 2.常用参数介绍 3.实例 4.直达底部 命令简介 和 zip 命令类似,gzip 用于文件的压缩,gzip压缩后的文件扩展名为 ".gz",gzip默认压缩后 ...

  7. Delphi字符串转日期,强大到窒息,VarToDateTime解决了困扰很久的小问题

    procedure THRForm.Button1Click(Sender: TObject); var D:TDateTime; s:string; begin D:=VarToDateTime(' ...

  8. Java之工具类:判断对象是否为空或null

    import java.lang.reflect.Array; import java.util.Collection; import java.util.Map; /** * 判断对象是否为空或nu ...

  9. Tether USDT 节点钱包的安装与使用

      当前,在进行数字资产交易的过程中,由于各国政府的政策因素,法币成为数字资产交易的一个重要问题.在法币接入数字资产交易的过程中,通常是用某种数字资产对法币进行锚定,例如bitshares上面的许多b ...

  10. idea的激活

    参考网址:https://blog.csdn.net/qq_34273222/article/details/78810799 侵删 1.进到文件夹中:C:\Windows\System32\driv ...