文档章节

关于文件上传和下载的几点理解

m
 mikeliu02
发布于 2016/05/17 11:38
字数 262
阅读 15
收藏 0

最近做了一个excel导出功能,发现使用jquery ajax是没办法导出文件的,后来上网搜索一通,基本上都是使用form submit这种方案。

Steps:

1. 定义一个隐藏iframe,用来接收form返回响应。

1.  定义form,target设置为隐藏的iframe。

大概代码如下:

<html> 
<body> 
<form action="upload.jsp" id="form1" name="form1"encType="multipart/form-data" method="post"target="hidden_frame"> 
<inputtype="file" id="file" name="file"style="width:450"> 
<INPUTtype="submit" value="上传文件"><spanid="msg"></span> 
<br> 
<fontcolor="red">支持JPG,JPEG,GIF,BMP,SWF,RMVB,RM,AVI文件的上传</font> 
<iframe name='hidden_frame' id="hidden_frame"style='display:none'></iframe> 
</form> 
</body> 
</html> 

下面解释一下为什么不能使用jquery ajax去下载文件:

JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型。而下载文件需要流类型。

顺便提一下post的四种提交数据方式:

1.  application/x-www-form-urlencoded: 一般的方式,包括form, jquery ajax

2. multipart/form-data: 一般用于文件上传

3. application/json: angularjs采用

4. text/xml

© 著作权归作者所有

m
粉丝 0
博文 7
码字总数 1056
作品 0
长沙
私信 提问
JavaWeb Item40: 文件上传和下载

对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具...

_Roger_
2016/01/27
74
0
Python中的plisttext和HTTP的Content-Type

 这段时间本人在学习相关的内容,临时需要一个可以提供文件上传和下载功能的服务器,于是上网查找了一个简单服务器的python实现代码,本着温顾一下HTTP协议的想法,于是深入研究了一下其中的...

remcarpediem
2018/08/27
0
0
关于defer和async的原理

和是script标签的两个属性,用于在不阻塞页面文档解析的前提下,控制脚本的下载和执行。 在介绍他们之前,我们有必要先了解一下页面的加载和渲染过程: 页面的加载和渲染过程 浏览器通过HTT...

nanfeiyan
06/27
0
0
MVC 上传文件并展示

最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。 十年河东十年河西,莫欺少年穷 学无止境,精益求精 最近在做自学MVC,遇到的问题很多,索性...

天才小龙
2018/01/05
0
0
Java Web基础知识之文件上传:文件上传一窥究竟

其实文件上传的文章已经写得很多了,但是好多文章都是都是说明了怎么实现,没有说这个过程到底发生了什么(会不会引来仇恨。。),其实实现文件上传并不复杂,也没有多少代码,但是要是清楚的...

lmy86263
2016/05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部