Html使用Iframe无刷新上传文件,后台接收
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无刷新上传文件,后台接收的更多相关文章
- ajax +jsp+iframe无刷新上传文件[转]
http://hi.baidu.com/zj360202/blog/item/f23e3711f929c774cb80c475.html ajax jsp 无刷新上传文件 2009-10-26 16: ...
- 利用iframe无刷新上传文件的坑
页面里经常要用到文件上传的功能,而且要求页面不刷新,先说一下原理:页面里放一个file控件和submit按钮,外面用form表单包住,给form表单加上对应的属性值,action.method.ent ...
- web 开发之js---巧用iframe实现jsp无刷新上传文件
首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是 ...
- $_FILES参数详解及简单<form>表单无刷新上传文件
$_FILES:经由 HTTP POST 文件上传而提交至脚本的变量,类似于旧数组$HTTP_POST_FILES 数组(依然有效,但反对使用)详细信息可参阅 POST方法上传 $_FILES数组内容 ...
- jquery ajax php 无刷新上传文件 带 遮罩 进度条 效果的哟
在很多项目中都会叫用户上传东西这些的,自从接触了jquery 和ajax之后就不管做什么,首先都会想到这个,我这个人呢?是比较重视客户体验的,这次我这边负责的是后台板块,然后就有一块是要求用户上传照片 ...
- jQuery+php+ajax实现无刷新上传文件功能
jQuery+php+ajax实现无刷新上传文件功能,还带有上传进度条动画效果,支持图片.视频等大文件上传. js代码 <script type='text/javascript' src='j ...
- Ajax 无刷新上传文件插件 uploadify 的使用
在表单中无法直接使用 Ajax 上传文件,解决的思路可以是使用插件无刷新地上传文件,返回文件上传后的地址,然后把该地址作为 Ajax 的参数传递给服务器端进行数据库处理.可以使用 uploadify ...
- ajax无刷新上传文件
网页上传文件最简单的方式就是通过表单上传了,但是在提交表单的时候会导致网页刷新,但有的时候我们不想网页刷新,有什么办法呢,我们可以使用ajax上传文件来做到这一点.只有ajax还不行,还需要JavaS ...
- 文件上传---form表单,ajax,jquery,以及iframe无刷新上传 (processData,contentType讲解)
服务端程序: import tornado.web import os IMG_LIST=[] class IndexHandler(tornado.web.RequestHandler): def ...
随机推荐
- kudu架构(转)
特点: High availability(高可用性).Tablet server 和 Master 使用 Raft Consensus Algorithm 来保证节点的高可用,确保只要有一半以上 ...
- python输出格式化及函数format
格式 描述%% 百分号标记%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x ...
- IntelliJ IDEA创建maven web项目(IDEA新手适用)
步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间 步骤二:按照下面的步骤操作就可以了,最后next 首先,选择左边的maven 然后在右边Creater from ar ...
- selenium+python自动化91-unittest多线程生成报告(BeautifulReport)
前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点,刚好在github上有个大神分享了BeautifulReport,完美的结合起来,就能生成报告了. 环境必备 ...
- Mybatis 为什么不要用二级缓存
https://www.cnblogs.com/liouwei4083/p/6025929.html mybatis 二级缓存不推荐使用 一 mybatis的缓存使用. 大体就是首先根据你的sqlid ...
- OpenACC 梯度下降法求解线性方程的优化
▶ 书上第二章,用一系列步骤优化梯度下降法解线性方程组.才发现 PGI community 编译器不支持 Windows 下的 C++ 编译(有 pgCC 命令但是不支持 .cpp 文件,要专业版才支 ...
- [python爬虫] Selenium定向爬取PubMed生物医学摘要信息
本文主要是自己的在线代码笔记.在生物医学本体Ontology构建过程中,我使用Selenium定向爬取生物医学PubMed数据库的内容. PubMed是一个免费的搜寻引擎,提供生物医学方 ...
- 微信小程序注册身份证验证
// 校验身份证号 //校验码校验 checkCode: function (val) { var p = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2])) ...
- delphi ios grid BindSourceDB bug
BindSourceDB4.DataSet :=nil; BindSourceDB4.DataSet :=FDMemTable1; grid绑定后显示数据正常,第二次赋值BindSourceDB4.D ...
- Activity服务类-4 HistoryService服务类
一共个方法15个方法 用于查询历史工作流信息1.创建查询(7个方法)//创建一个新的编程查询来搜索{@link HistoricProcessInstance}.HistoricProcessInst ...