('button').click(function(){ var files = $('#avatar').prop('files'); //多个 //或"/>

用jQuery实现文件上传的方法

用jQuery实现文件上传的方法

1、利用FormData实现文件上传

<input type="file" id="avatar" name="avatar"><button type="button">保存</button>
('button').click(function(){ var files = $('#avatar').prop('files'); //多个 //或者 var files = $('#avatar')[0].files[0] //单个  var data = new FormData(); data.append('avatar', files[0]);  $.ajax({  url: '/api/upload',  type: 'POST',  data: data,  cache: false,  processData: false,  contentType: false });});

2、一般处理程序上传文件

using System;using System.Collections.Generic;using System.Drawing;using System.IO;using System.Linq;using System.Web;using Newtonsoft.Json;namespace CCOA.App.common.api{    /// <summary>    /// CommUploadFile 的摘要说明    /// </summary>    public class CommUploadFile : IHttpHandler    {        public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            try {            HttpPostedFile file = context.Request.Files["file1"];            //是否上传文件            if (file.ContentLength <= 0) //文件大小            {                //请选择要上传的文件                context.Response.Write("");                return;            }            //上传文件大小检测            if (file.ContentLength > 1024 * 1024*5)            {                //上传文件大小不能超过5M                context.Response.Write("");                return;            }            //上传文件后缀名检测            string filename = file.FileName; //文件绝对地址            string suffix = Path.GetExtension(filename); //截取后缀            //if (suffix != ".webp" & suffix != ".webp")            //{            //    context.Response.Write("只允许上传jpg文件");            //    return;            //}            #region 保存文件            //重命名:GUID(全球唯一标识符)推荐!!!            filename = string.Format("{0}{1}", Guid.NewGuid().ToString("N"), suffix);            //创建目录            string dirFullPath = context.Server.MapPath("~/UploadFile/");            //如果文件夹不存在,则先创建文件夹            if (!Directory.Exists(dirFullPath))            {                Directory.CreateDirectory(dirFullPath);            }            //将两个字符组合成一个路径            string fileFullPath = Path.Combine(dirFullPath, filename);            //保存文件            file.SaveAs(fileFullPath);            string clientFilePath = "/CCOA/UploadFile/" + filename;            context.Response.Write(clientFilePath);            }            catch (Exception ex)            {                context.Response.Write("");            }            #endregion        }        public bool IsReusable        {            get            {                return false;            }        }    }}

推荐阅读