环境与上一章一样

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. 改xml

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  2. Altium Designer 17 ------ 多层板设计

    Pullback:在内电层边缘设置一个去铜边界,以保证内电层边界距离PCB边缘有一个安全间距.

  3. RS485 / RS422

    RS422可以变为RS485:A和Y短路(然后接T/R+),B和Z短路(然后接T/R-) RS485是半双工,只有两根线通信线,要么接收状态,要么发送状态 RE为低电平,作为接收器 DE为高电平,作为 ...

  4. C++ vector的运用

    C++ vector 用法(#include <vector>) 标准库Vector类型 使用需要的头文件: #include <vector> Vector:Vector 是 ...

  5. Centos 6.8编译安装LNMP环境

    Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...

  6. 增删改查的SSM小项目

      经过将近一个月的摸索,终于算是勉强完成了关于增删改查的SSM项目. github源码地址:https://github.com/123456abcdefg/Login 好了,话不多说,写一下具体代 ...

  7. Centos7安装Openldap初级篇

    openldap 单节点编译安装 1.获取源码包 #下载Berkeley DB www.oracle.com/technetwork/database/database-technologies/be ...

  8. python 计算机发展史,线程Process使用 for循环创建 2种传参方式 jion方法 __main__的解释

    ########################总结################## #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬 ...

  9. golang byte与rune区别

    先看代码 package main import ( "fmt" ) func main() { var a = "hello world" var b = & ...

  10. HDU - 3974 Assign the task (线段树区间修改+构建模型)

    https://cn.vjudge.net/problem/HDU-3974 题意 有一棵树,给一个结点分配任务时,其子树的所有结点都能接受到此任务.有两个操作,C x表示查询x结点此时任务编号,T ...