环境与上一章一样

jquery 方式上传文件:

HTML代码

    {#html代码开始#}
<input type="file" id="img" >
<button onclick="a1()">提交</button>
{#html代码结束#}

jquery代码

    <script src="/static/js/jquery-1.12.4.min.js"></script>
<script>
function ax() {
{#获取input file内的文件内容#}
var img_data = document.getElementById('img').files[0]; {#创建一个FormData对象,将数据append方式加入FormData对象中#}
var dataX = new FormData();
dataX.append('k1','11');
dataX.append('k2','22');
dataX.append('k3',img_data); {#ajax定义#}
$.ajax(
{
url:'/aj1.html',
type:'POST',
data:dataX,
success:function (arg) {
console.log(arg)
},
{#必加参数!!!!#}
processData:false,
contentType:false

}
)
}
</script>

iframe +form 方式上传文件:

HTML代码

{#    html代码开始#}
<iframe id="ifr_id" name='ifr_na' style="display: none"></iframe>
<form id='form_id' target="ifr_na" method="POST" action="/aj1.html" enctype="multipart/form-data">
<input type="file" name="k3">
<button id="bt">提交</button>
</form>
{# html代码结束#}

js代码

    <script>
document.getElementById('bt').onclick=function () {
document.getElementById('ifr_id').onload = a3;
document.getElementById('form_id').submit();
};
function a3() {
console.log(this.contentWindow.document.body.innerText);
};
</script>

利用onchange事件 直接上传

{#    html代码开始#}
<iframe id="ifr_id" name='ifr_na' style="display: none"></iframe>
<form id='form_id' target="ifr_na" method="POST" action="/aj1.html" enctype="multipart/form-data">
<input type="file" name="k3">
</form>
{# html代码结束#} <script>
document.getElementById('form_id').onchange=function () {
document.getElementById('ifr_id').onload = a3;
document.getElementById('form_id').submit();
};
function a3() {
console.log(this.contentWindow.document.body.innerText);
};
</script>

前端 - jquery方式 / iframe +form 方式 上传文件的更多相关文章

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

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

  2. form、iframe实现异步上传文件

    转载自:http://blog.csdn.net/sunjing21/article/details/4779321 实现主要功能: 页面提供一个上传图片的input file选择框,用于上传某一类型 ...

  3. C# 通过WebService方式 IIS发布网站 上传文件到服务器

    应用场景:要将本地的文件 上传到服务器的虚拟机上 网络环境:公司局域网(如下图中第二种) 开发环境:VS2010 服务器环境:WinServer2008    虚拟机环境:WinServer2008 ...

  4. C# 通过WebService方式 IIS发布网站 上传文件到服务器[转]

    http://blog.sina.com.cn/s/blog_517cae3c0102v0y7.html 应用场景:要将本地的文件 上传到服务器的虚拟机上 网络环境:公司局域网(如下图中第二种) 开发 ...

  5. 通过jQuery Ajax使用FormData对象上传文件

    FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". 在 Mozilla Developer 网站 使用For ...

  6. django Form组件 上传文件

    上传文件 注意:FORM表单提交文件要有一个参数enctype="multipart/form-data" 普通上传: urls: url(r'^f1/',views.f1), u ...

  7. 通过jQuery Ajax使用FormData对象上传文件 (转载)

    XMLHttpRequest Level 2 添加了一个新的接口——FormData.与普通的 Ajax 相比,使用 FormData 的最大优点就是我们可以异步上传二进制文件.jQuery 2.0+ ...

  8. [转] 通过jQuery Ajax使用FormData对象上传文件

    FormData对象,是可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". 在 Mozilla Developer 网站 使用For ...

  9. iframe仿Ajax上传文件

    利用iframe框架完成文件上传 前端页面 <!doctype html> <html lang="en"> <head> <meta c ...

随机推荐

  1. Proxy代理模式

    https://www.cnblogs.com/vincentzh/p/5988145.html https://www.cnblogs.com/wrbxdj/p/5267370.html(不错)

  2. Codeforces Round #523 (Div. 2) D. TV Shows

    传送门 https://www.cnblogs.com/violet-acmer/p/10005351.html 题意: 有n个节目,每个节目都有个开始时间和结束时间. 定义x,y分别为租电视需要的花 ...

  3. IntelliJ IDEA载入JDBC驱动包

    1.下载zip格式的驱动包:https://dev.mysql.com/downloads/connector/j/ 2.解压zip,放到任意位置.其中的mysql-connector-java.ja ...

  4. vertical-align垂直对齐用法

    一.垂直对齐方式{vertical-align:middle/top/bottom:} <img>垂直对齐方式:1)给自身加vertical-align:再设置line-height即可: ...

  5. 2017-12-14python全栈9期第一天第三节之python历史

    python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  6. sklearn机器学习-泰坦尼克号

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  7. Kubernetes 集群ca验证

    创建集群时跳过ca验证 # vim /etc/kubernetes/apiserver 去除KUBE_ADMISSION_CONTROL中的 SecurityContextDeny,ServiceAc ...

  8. Jsp语法九大内置对象和四大作用域

    一.JSP 原理:JSP其实就是一个servlet. Servlet负责业务逻辑处理,JSP只负责显示.开发中,JSP中不能有一行JAVA代码 二.JSP语法 1. JSP模板元素:JSP中HTML标 ...

  9. HDU - 1698 Just a Hook (线段树区间修改)

    https://cn.vjudge.net/problem/HDU-1698 题意 大小为n的数组,数组元素初始值为1,有q次操作,x,y,z表示从第x到第y所有的元素的值变为z,最后问1到n的和. ...

  10. Tornado的异步非阻塞

    阻塞和非阻塞Web框架 只有Tornado和Node.js是异步非阻塞的,其他所有的web框架都是阻塞式的. Tornado阻塞和非阻塞两种模式都支持. 阻塞式: 代表:Django.Flask.To ...