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 ...
随机推荐
- python web框架企业实战具体解释(第六期)\第三课时-ajax&jquery&webpy
main.py __author__ = 'Liao' import web import time urls = ( '/gettime','gettime', '/(.*)', 'hello' ) ...
- Objective-C之成魔之路【0-序章】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助.欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 C语言首创 ...
- Yii Criteria常用方法(select,join,where,日期,)
$criteria = new CDbCriteria; //select $criteria->select = '*';//默认* $criteria->select = 'id,n ...
- 运营或生态链没做好,APP质量再高有个鸟用(下)
上篇文章已经阐述了对于一款产品卖不卖作,事实上非常依赖于运营的打造和生态链的建立,这里能够解释为什么很多优秀的游戏产品功底非常好,但開始并不卖作,仅仅有碰到一家肯出力推的渠道游戏才迅速火了起来.这是不 ...
- 数据结构与算法之贪心算法 C++实现
1.基本思路:从问题的某一个初始解触发逐步逼近给定的目标,以尽可能快的求得更好的解. 当达到算法中某一步不能再继续前进时.就停止算法,给出近似值.也就是说贪心算法并不从总体最优考虑,它所作出的选择仅仅 ...
- JavaScript 模拟键盘事件
JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等) 2016年09月08日 15:23:25 神秘_博士 阅读数:41158 标签: javascript鼠标键盘事件模拟更多 个人分类 ...
- 使用JXL对EXCLE的导入导出
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Da ...
- mybatis一对多
mapper.xml <mapper namespace="com.oracle.dao.one2manyDao"> <resultMap type=" ...
- [转载]JSONP跨域的原理解析
JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于Java ...
- backtrace、backtrace_symbols、backtrace_symbols_fd-support for application self-debugging
backtrace是库函数引入的应用自调试函数. 系列里的三个函数可以缓冲或输出栈帧. #include <execinfo.h> int backtrace(void **buffer, ...