写这个纯属是给自己一个记忆啦

一.前台的代码以及调用的js

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>上传</title>
<script src="jquery-1.4.1.min.js"></script>
<script src="ajaxfileupload.js"></script>
</head>
<body>
<div class="am-u-md-4"> <!-- 文件显示的地方-->
<img id="imgShow1" alt="" class="am-img-circle am-img-thumbnail" src="../../Tools[NO]pic.png" />
</div>
<div class="am-form-group">
<input id="fileUploadChange" runat="server" name="browse" onchange="ajaxFrontCoverUpload1();" style="width: 50%" type="file" />
<input id="fileUploadChangeId" runat="server" type="hidden" value="" /> <!--图片上传--> <!--隐藏一个input存放图片的ID-->
<p class="am-form-help">此处选择要上传的产品大图...</p>
</div>
</body>
</html>
<script>
//异步上传大图
function ajaxFrontCoverUpload1() { //检测要上传的是不是图片文件
var filePath = $("#fileUploadChange").val();
if (filePath != "") {
var extName = filePath.substr(filePath.lastIndexOf('.') + , filePath.length - filePath.lastIndexOf('.'));
if (extName != "jpg" && extName != "bmp" && extName != "png" && extName != "jpeg" && extName != "gif") {
alert("图片必须是bmp,png,jpeg,jpg,gif格式的文件!");
return;
}
}
//上传图片操作
$.ajaxFileUpload
(
{
url: '../UploadImageHandler.ashx',
secureuri: false, //是否需要安全协议
fileElementId: 'fileUploadChange', //上传控件id
type: 'POST',
dataType: "text",
success: function (data) {
var code = data.substring(, );
if (code == "") {
var filePath = data.substring();
filePath = filePath.replace("\\", "/");
$("#fileUploadChangeId").val(filePath);//将文件路径存放在隐藏域中
$("#imgShow1").attr("src", filePath);
alert("上传成功!");
} else {
alert(data);
}
}
}
)
return false;
}
</script>

二.一般处理程序

<%@ WebHandler Language="C#" Class="UploadImageHandler" %>

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.SessionState; public class UploadImageHandler : IHttpHandler { public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
if (context.Request.Files.Count > )
{
HttpPostedFile file = context.Request.Files[];
if (file.ContentLength > )
{
string suffix = file.FileName.Substring(file.FileName.LastIndexOf('.'));//后缀
if (!suffix.ToLower().Contains(".bmp") && !suffix.ToLower().Contains(".png") && !suffix.ToLower().Contains(".jpeg") &&
!suffix.ToLower().Contains(".jpg") && !suffix.ToLower().Contains(".gif"))
{
context.Response.Write("图片格式必须以下格式:bmp,png,jpeg,jpg,gif");
return;
} try
{
string filePath = (@"~/Image/") + DateTime.Now.ToString("yyyyMMdd") + "/" + DateTime.Now.ToString("HHmmssfff");
Directory.CreateDirectory(context.Server.MapPath(filePath));
string fileFullName = filePath + "/" + file.FileName;
file.SaveAs(context.Server.MapPath(fileFullName));
string json = "{\"msg\":\"" + fileFullName + "\",code:\"10000\"}";
context.Response.Write("1_" + fileFullName);
return;
}
catch (Exception ex)
{
context.Response.Write(HttpUtility.HtmlEncode(ex.Message));
return;
}
}
context.Response.Write("请选择要上传的文件!");
return;
}
context.Response.Write("请选择要上传的文件!");
return;
} public bool IsReusable {
get {
return false;
}
} }

无刷新上传图片以及使用C#语言的更多相关文章

  1. nodejs利用ajax实现网页无刷新上传图片

    nodejs利用ajax实现网页无刷新上传图片 标签(空格分隔): nodejs 通常情况下上传图片是要通过提交form表单来实现的,但是这又不可避免的产生了网页转. 利用ajax技术和FormDat ...

  2. php无刷新上传图片和文件

    核心思想:通过Html的iframe标签属性操作顶级窗口,再用php动态无刷新上传图片文件. 示例如下: demo |------uploads #存放上传的文件 |------index.php | ...

  3. 使用SWFUpload无刷新上传图片

    使用SWFUpload组件无刷新上传图片 在做项目时,需要用到一个图片的无刷新上传,之前听说过SWFUpload,于是想要通过SWFUpload来进行图片的无刷新上传,由于我的项目属于是ASP.NET ...

  4. Thinkphp框架 -- ajax无刷新上传图片

    用Thinkphp框架做无刷新上传图片 视图层 View <!doctype html> <html lang="en"> <head> < ...

  5. ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10

    /* 131108-xxj-ajaxFileUpload.js 无刷新上传图片 jquery 插件,支持 ie6-ie10 依赖:jquery-1.6.1.min.js 主方法:ajaxFileUpl ...

  6. TP3.2:实现Ajax无刷新上传图片

    1.基于TP3.2+ajaxfileupload进行无刷新上传图片,本次只上传一张,多张以后搞出来再发 2.效果:   3.html代码: <html> <head> < ...

  7. 无刷新上传图片,ajax 和 iframe

    iframe 上传 upload.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  8. ajax无刷新上传图片

    页面: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> & ...

  9. js无刷新上传图片,服务端有生成缩略图,剪切图片,iphone图片旋转判断功能

    html: <form action="<{:AppLink('circle/uploadimg')}>" id="imageform" me ...

随机推荐

  1. 101 个 MySQL 的调节和优化的提示

    英文原文:101 Tips to MySQL Tuning and Optimization MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它 ...

  2. (笔记)arm-linux-gcc/ld/objcopy/objdump参数总结

    说明:gcc是编译器,负责对c代码的编译, ld是连接器 负责将多个*.o的目标文件链接成elf可执行文件.elf可执行文件是unix常用的可执行文件类型,就像windows的exe文件.elf文件中 ...

  3. Spring系列(四):Spring AOP详解和实现方式(xml配置和注解配置)

    参考文章:http://www.cnblogs.com/hongwz/p/5764917.html 一.什么是AOP AOP(Aspect Oriented Programming),即面向切面编程, ...

  4. C# 中委托和代理是一个概念吗??

    刚刚看了一下资料,发现有些资料说的是代理,有的说是委托,但都是指同一样东西delegate,委托和事件是有关的,因为事件的本质就是多播委托,关于多播委托楼主可以找找资料就知道了. 不过个人觉得这两个概 ...

  5. 因修改/etc/sudoers权限导致sudo和su不能使用的解决方法

    因为修改了/etc/sudoers以及相关权限,导致sudo无法使用,恰好Ubuntu的root密码没有设置,每次执行 su - 时.输入密码,提示:认证错误 . 解决方法: 1.重启ubuntu,启 ...

  6. MyEclipse如何恢复删掉的文件

    今天一不小心删了项目里的两个包,心里那个痛啊,一想MyEclipse这么强大,应该会有恢复文件的功能吧,要不就太坑了啊. 果不其然让我找到了方法: 如图:右击项目选择 然后在弹出的页面勾选需要恢复的文 ...

  7. get calllog fail

    coolpad Coolpad 8122   Uri smsUri = CallLog.Calls.CONTENT_URI;     Cursor callLogCursor = cr.query(s ...

  8. c语言中左移、右移中的高位需要注意

    有符号数,左移可能会破坏符号位. 右移时,要注意高位符号. 0X表示十六进制.十六进制每位数值由 0-f表示.所以0XC0 对应 二进制为 11000000B10进制与16进制间关系:1 -- 0X1 ...

  9. 在jstl表达式中嵌入el表达式

    一.问题 在jsp中,想要这么写: <c:url value='/resources/themes/${easyuiThemeName}/easyui.css'/> 但报错:Accordi ...

  10. 【2018年12月14日】A股最便宜的股票

    新钢股份(SH600782) - 当前便宜指数:193.12 - 滚动扣非市盈率PE:2.91 - 动态市净率PB:0.96 - 动态年化股息收益率:1.75% - 新钢股份(SH600782)的历史 ...