前台代码:

/*修改头像*/  
    //上传  
    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. 我用Python爬虫挣钱的那些事

    在下写了10年Python,期间写了各种奇葩爬虫,挣各种奇葩的钱,写这篇文章总结下几种爬虫挣钱的方式. 1.最典型的就是找爬虫外包活儿. 这个真是体力活,最早是在国外各个freelancer网站上找适 ...

  2. IOTA price analysis

    Iota coinchart Look at the trendline drawn in red color, at the very first beginning of this month, ...

  3. PHP学习 类型 变量 常数 运算符

    PHP支持下列8种类型 标量类型 scalar type整数 integer浮点数 float double布尔 boolean字符串 string 特殊类型 special typeNULL资源 r ...

  4. Substrings (C++ find函数应用)

    Description You are given a number of case-sensitive strings of alphabetic characters, find the larg ...

  5. Notes of Daily Scrum Meeting(12.16)

    最近好几门课的大作业都到了要截止的时候了,好多天队员们都抽不出来时间做软工的项目了,这样确实 和我们的计划出入很大,不过希望老师谅解,三门课程设计确实压力很大. 今天的团队任务总结如下: 团队成员 今 ...

  6. SCRUM 12.17

    今天,我们的用户统计功能终于上线了!! 大家辛苦工作了许久.我们测试的用户统计功能效果模拟如下 还有一些好消息,比如,我们的应用在小米平台收到了崩溃的反馈报告. 这说明我们留下的一些BUG暴露了出来, ...

  7. 关于给C盘扩容以及动态磁盘

    2019.4.5 周五 磁盘分为基本磁盘和动态磁盘 基本磁盘转动态磁盘是很容易的 https://jingyan.baidu.com/article/59a015e3a3d504f7948865b1. ...

  8. 转帖 OKR

    什么是OKR OKR全称是Objectives and Key Results,即目标与关键成果法.OKR是一套定义和跟踪目标及其完成情况的管理工具和方法.1999年Intel公司发明了这种方法,后来 ...

  9. letsencrypt续期 最简单的续期方法更新证书

    Let's Encrypt申请的证书会有三个月的有效期,如何更方便的续期呢? 关于证书续期: 所谓letsencrypt续期,续期相当于重新申请一次证书,然后在服务器端将过期的证书替换掉即可.由于这个 ...

  10. MT【105】待定系数算最大最小

    已知$x,y,z>0$,则$max\{2x,\frac{1}{y},y+\frac{1}{x}\}$的最小值______ 分析:首先关注到$2x=\frac{1}{y}=y+\frac{1}{x ...