html代码:我是发送请求到teacher_center.aspx,不是到.ashx一般处理程序里,需要加 runat="server",有空我再试试发送请求到 .ashx 里

<input type="file" class="upload" id="fu_book_img" name="fu_book_img" runat="server" onchange="SelectBookImg()"  />上传图片

<iframe id='frameFile' name='frameFile' style='display: none;'></iframe>

<input type="hidden" id="hidden_select_img" />

<img src="" height="76" width="141" alt="" id="books_img" />

js脚本:

function SelectBookImg(e) {
var fname = '<%=DateTime.Now.ToString("yyyyMMddHHmmss")%>' + getRandom(999);
var oldSelect = $("#hidden_select_img").val();//上一次选择的图片

$("#form1").attr("action", "teacher_center.aspx?op=upload&fname=" + fname + "&oldSelect=" + oldSelect);
$("#form1").attr("target", "frameFile");//隐藏的iframe,为了实现无刷新,参考我的另一篇文章
$("#form1").submit();
$("#form1").removeAttr("target");
}

function SetImg(imgUrl) {
$("#books_img").attr("src", imgUrl);
$("#hidden_select_img").val(imgUrl);
}

.NET代码

HttpPostedFile fu = Request.Files["fu_book_img"];//Name属性
if (!string.IsNullOrEmpty(fu.FileName))
{
string ext = Path.GetExtension(fu.FileName).ToLower();
if (CommonHelper.ImgPattern.Contains(ext))//判断图片格式是否正确
{
//验证文件的大小,fu.ContentLength是文件字节长度
if (fu.ContentLength > (CommonHelper.HeadImgSize / 2))
{
JScript.Show(this, "你上传的文件不能大于1M,请重新上传!");
}
else
{
string path = Server.MapPath("~/UploadFile/BookImg/temp/") + fname + ext;
fu.SaveAs(path);

//删除上一次选择的文件

string oldPath = Server.MapPath("~" + oldSelect);
if (File.Exists(oldPath))
{
File.Delete(oldPath);
}

//将选择的图片加载到页面中的 img中,需要用 window.parent,因为我们指定的是  iframe 代提交
Response.Write("<script>window.parent.SetImg('/UploadFile/BookImg/temp/" + fname + ext + "');</script>");
Response.End();
}
}
else
{
JScript.Show(this, "图片格式不正确");
}
}
else
{
JScript.Show(this, "请选择图片");
}

Html使用Iframe无刷新上传文件,后台接收的更多相关文章

  1. ajax +jsp+iframe无刷新上传文件[转]

    http://hi.baidu.com/zj360202/blog/item/f23e3711f929c774cb80c475.html ajax jsp 无刷新上传文件 2009-10-26 16: ...

  2. 利用iframe无刷新上传文件的坑

    页面里经常要用到文件上传的功能,而且要求页面不刷新,先说一下原理:页面里放一个file控件和submit按钮,外面用form表单包住,给form表单加上对应的属性值,action.method.ent ...

  3. web 开发之js---巧用iframe实现jsp无刷新上传文件

    首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是 ...

  4. $_FILES参数详解及简单<form>表单无刷新上传文件

    $_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容 ...

  5. jquery ajax php 无刷新上传文件 带 遮罩 进度条 效果的哟

    在很多项目中都会叫用户上传东西这些的,自从接触了jquery 和ajax之后就不管做什么,首先都会想到这个,我这个人呢?是比较重视客户体验的,这次我这边负责的是后台板块,然后就有一块是要求用户上传照片 ...

  6. jQuery+php+ajax实现无刷新上传文件功能

    jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码 <script type='text/javascript' src='j ...

  7. Ajax 无刷新上传文件插件 uploadify 的使用

    在表单中无法直接使用 Ajax 上传文件,解决的思路可以是使用插件无刷新地上传文件,返回文件上传后的地址,然后把该地址作为 Ajax 的参数传递给服务器端进行数据库处理.可以使用 uploadify ...

  8. ajax无刷新上传文件

    网页上传文件最简单的方式就是通过表单上传了,但是在提交表单的时候会导致网页刷新,但有的时候我们不想网页刷新,有什么办法呢,我们可以使用ajax上传文件来做到这一点.只有ajax还不行,还需要JavaS ...

  9. 文件上传---form表单,ajax,jquery,以及iframe无刷新上传 (processData,contentType讲解)

    服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def ...

随机推荐

  1. ETL,BPM与ESB三者的一些感悟

    1.ETL: 数据层之间,主要在数据库层面上进行数据抽取过程------数据库层 2.ESB 异构系统之间通过总线技术,实现系统交互---------------系统通信层 3.BPM 自动化流程处理 ...

  2. WARN hdfs.DFSClient: Caught exception java.lang.InterruptedException

    Hadoop 2.7.4 The reason is this: originally, DataStreamer::closeResponder always prints a warning ab ...

  3. node使用MySQL数据库

    内容: 1.node连接数据库 2.数据库常用操作 3.数据库实例 - 用户注册.登陆 1.node连接数据库 (1)下载mysql模块 (2)使用mysql模块连接数据库 let db=mysql. ...

  4. HAproxy目录分发

    ServerA服务的数据查询接口:/api/v1/datas HAproxy地址10.66.222.333将ServerA添加转发规则添加到HAproxyhaproxy.cfg frontend ht ...

  5. webserver有哪些

    http://blog.csdn.net/mfsh_1993/article/details/70245380 常用web服务器有Apache.Nginx.Lighttpd.Tomcat.IBM We ...

  6. Hive启动异常

    [root@host ~]# hivewhich: no hbase in (/root/app/apache-maven-3.5.2/bin:/usr/local/sbin:/usr/local/b ...

  7. docker 简单入门(一)

    本篇目录 写在最前面的话 docker概念介绍 镜像的概念.容器的概念 docker的安装介绍 写在最前面的话 大家好,首先跟大家说声对不起,我班门弄斧了,我本身是做系统开发,使用的语言是C#和JAV ...

  8. jsp 调用其他jsp页面 跳转

    response.sendRedirect("test2.jsp"); window.location.reload("test2.jsp"); locatio ...

  9. Window Mysql 5.7.18安装

    1:下载地址 https://dev.mysql.com/downloads/mysql/ 点击Community , 然后点击Community Server 位置, 下载 安装包 2: 配置环境变 ...

  10. H5特性回顾

    canvas 绘画, video 媒介回放 audio元素 对本地离线存储的更好支持, 新的特殊内容 - 元素 比如 article,footer,header,nav,section, 新的表单控件 ...