Jquery+ajaxfileupload上传文件
1、说明
ajaxfileupload.js是一款jQuery插件,用于通过ajax上传文件。
下载地址:http://files.cnblogs.com/files/lengzhan/ajaxfileupload.zip
2、使用方法
首先引用js脚本
<script src="Scripts/jquery/jquery-1.9.1.js" type="text/javascript"></script>
<script src="Scripts/ajaxfileupload.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btnUpload").on('click', DoUpload);
}) function DoUpload() {
var image = $("#txtPath").val();
if ($.trim(image) == "") {
alert("请选择文件!");
return;
} $.ajaxFileUpload(
{
url: 'Handler/FileUploadHandler.ashx?type=Attachment',
secureuri: false,
fileElementId: $("#fleFile").attr("id"),
dataType: 'json',
success: function (data, status)
{
if (data.url === "") {
alert("上传失败!");
} else {
alert("上传成功!");
}
},
error: function (result) {
alert("上传失败!");
}
});
}
</script>
然后是html代码
<div id="ImageMaintain">
<input type="hidden" name="hidImgUrl" id="hidImgUrl" value="" />
<div id="uploadarea">
<input id="txtPath" type="text" disabled="disabled" />
<input id="fleFile" type="file" name="fleFile" onchange="document.getElementById('txtPath').value = this.value;return false;" />
<input id="btnSelect" type="button" value="选择" class="button" style="width: 60px;" />
<input id="btnUpload" type="button" value="上传" class="button" style="width: 60px;" />
</div>
</div>
最后是一般处理程序
<%@ WebHandler Language="C#" Class="FileUploadHandler" %> using System;
using System.Web;
using System.IO; public class FileUploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; string strMessage = string.Empty;
string strUrl = string.Empty;
string strFloderName = "Upload";
string strNewFilePath = string.Empty;
string strFileName = Path.GetFileName(context.Request.Files[0].FileName);
string strOldFileName = Path.GetFileName(context.Request.Files[0].FileName);
int intFileSize = context.Request.Files[0].ContentLength;
string data = "";
if (context.Request.Files.Count > 0 && strFileName != "")
{
string strExt = Path.GetExtension(context.Request.Files[0].FileName);
strExt = strExt.TrimStart('.').ToLower();
strFloderName = strFloderName + "/" + "File/" + DateTime.Now.ToString("yyyyMMdd");
string path = HttpContext.Current.Server.MapPath("../" + strFloderName);
try
{
strFileName = Guid.NewGuid().ToString() + ("." + strExt);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
strNewFilePath = Path.Combine(path, strFileName);
context.Request.Files[0].SaveAs(strNewFilePath);
}
catch (Exception ex)
{
strMessage = "保存失败";
strUrl = string.Empty;
}
}
strMessage = "";
strUrl = strFloderName + "/" + strFileName; data = "{\"strUrl\":\"" + strUrl + "\",\"strMessage\":\"" + strMessage + "\"}";
context.Response.Write(data);
context.Response.End();
} public bool IsReusable {
get {
return false;
}
} }
3、图片上传
这里会把DEMO上传至博客园,下载地址:http://files.cnblogs.com/files/lengzhan/UploadAjaxFile.zip


特别注意:这里需要提醒一下各位,默认情况下可上传的最大文件为4M,如果要上传大于4M文件,那么需要在web.config中的httpRuntime元素中添加maxRequestLength属性设置大小,同时为了支持大文件上传超时可以添加executionTimeout属性设置超时时间
<httpRuntime useFullyQualifiedRedirectUrl="true" executionTimeout="120" maxRequestLength="20480"/> 20480=20M
Jquery+ajaxfileupload上传文件的更多相关文章
- ajaxFileUpload上传文件简单示例
写在前面: 上传文件的方式有很多,最近在做项目的时候,一开始也试用了利用jquery的插件ajaxFileUpload来上传大文件,下面,用一个上传文件的简单例子,记录下,学习的过程~~~ 还是老样子 ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- jquery.uploadify上传文件配置详解(asp.net mvc)
页面源码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- ajaxFileUpload上传文件后提示下载的问题
在某些版本浏览器下ajaxFileUpload上传文件会提示下载, 1:为什么? 可以观察到,即便返回 JsonResult 在返回的头中也没有任何消息体,直接理解为文本了. 2:解决方案 前端: f ...
- 在使用 AjaxFileUpload 上传文件时,在项目发布到 iis 后,图片不能预览
在使用 AjaxFileUpload 上传文件时,图片已经上传成功了,在站点没有发布时,可以预览,可是在项目发布到 iis 后,图片就不能预览,在网上找了很多的方案也没解决,最后的解决方案如下: 1 ...
- 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据
1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...
- 使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能。并且在界面上有radio 的选择内容也要上传
使用 jquery 的 上传文件插件 uploadify 3.1 配合 java 来做一个简单的文件上次功能.并且在界面上有radio 的选择内容也要上传 uploadify 插件的 下载和文档地址 ...
- jQuery ajax上传文件实例
jQuery ajax上传文件实例 <form id="form" enctype="multipart/form-data"><input ...
- Jquery异步上传文件
我想通过jQuery异步上传文件,这是我的HTML: 1 2 3 <span>File</span> <input type="file" id=&q ...
随机推荐
- PHP接收参数的几种方式
PHP5在默认的情况下接收参数是需要使用 $_GET['value']; $_POST['value']; 还可以在PHP.ini 文件中的 将register_globals = Off 改re ...
- 小博客| 登录 | 注册 | 留言 | 提Bug 小博客
浏览(1502) 赞(29) 一直以来都想开发一个自己的网站,总想做一个网站然后让千千万万的人去访问,去使用,然后收到热烈的好评, 再然后某某著名机构有意投资我的网站(其实收购也是没有问题的), ...
- 关于使用openfiler作为共享存储来安装rac时的问题
关于使用openfiler作为共享存储来安装rac时的问题 第一:一定要使用openfiler-2.3-x86-disc1.iso这个版本号的openfiler,不要使用其它版本号的openfiler ...
- v-for指令
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- linux 输入子系统(3) button platform driver
button platform driver 一般位于driver/input/keyboard/gpio_keys.c /*用于按键事件的上报,它将在按键的中断发生后被调用.其中逻辑就是获取到按键类 ...
- Codeforces Round #422 (Div. 2) D. My pretty girl Noora 数学
D. My pretty girl Noora In Pavlopolis University where Noora studies it was decided to hold beau ...
- POJ1144 Network 无向图割点
题目大意:求以无向图割点. 定义:在一个连通图中,如果把点v去掉,该连通图便分成了几个部分,则v是该连通图的割点. 求法:如果v是割点,如果u不是根节点,则u后接的边中存在割边(u,v),或者v-&g ...
- 使用cwRsync在Windows的目录之间增量同步文件
http://www.qiansw.com/using-cwrsync-in-the-windows-directory-between-the-incremental-synchronization ...
- AndroidStudio——Android SDK
前言 安卓的SDK包,跨过长城下载好的,分享出来一下~ Android Studio版本 | 3.4.1 下载地址 微云下载地址 | 链接:https://share.weiyun.com/5rm6l ...
- How to run Media SDK samples on Skylake【转载】
In the last few days, we have seen lot of concern for using Intel® Media 2016 on 6th generation Inte ...