form上传文件以及跨域异步上传

要设置了enctype属性才能上传,需要使用上传的jar包,这里使用的是cos-26Dec2008.jar,

关于跨域上传文件:

跨域上传文件总会报错,即使服务器端设置了header('Access-Control-Allow-Origin: *'),仍会报错说缺少multipart属性,发现用form提交就没问题。原因是,

HTML5上传的时候就是用的CORS规范,即:在发送真正的上传请求之前会先发送一条OPTIONS请求给服务器,这时候需要服务器响应允许跨域上传的HTTP头,然后中断输出。浏览器接到允许跨域上传的HTTP头后会再次发起真正的上传文件请求(POST)。详细分析参考http://www.cnblogs.com/woshimrf/p/js-cors.html

因此,上传文件需要应答的,第一次options请求需要返回允许跨域的信息,而我通常第一次就当做文件接收了,所以接收不到。

做法:对请求进行拦截,如果是options请求直接返回

response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, OPTIONS");

如果是别的请求则通过。

1 String method = request.getMethod();
2         if ("OPTIONS".equals(method)) {
3             return;
4         }
5         nextHandler.handle(target, request, response, isHandled);

 关于跨域的知识,参考http://www.cnblogs.com/woshimrf/p/js-cors.html

对于form提交跨域,而服务器不设置允许跨域的时候,看到有人用iframe模拟,全文:http://blog.csdn.net/lrz1011/article/details/7913992

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互扯程序

跨域请求方案 终极版

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

1313
来自专栏郭林烁的专栏

脚本错误量极致优化:监控上报与 Script error

在前端开发工作中,除了项目开发保质保量上线以外,项目的数据监控也应该配套起来,确保线上的正常运转。如上报 pv 监控项目是否正常运转;测速上报反应项目质量;脚本...

5110
来自专栏Aloys的开发之路

tcpdump捕捉样例

# 下面的例子全是以抓取eth0接口为例,如果不加”-i eth0”是表示抓取所有的接口包括lo。 # 抓取到目标主机example.com的http he...

18510
来自专栏对角另一面

简单设置,解决使用webpack前后端跨域发送cookie的问题

最近用vue来做项目,用webpack来做前端自动化构建。webpack-dev-server会在本地搭建一个服务器,在和后端调试的时候,就会涉及到跨域的问题。...

3040
来自专栏腾讯AlloyTeam的专栏

脚本错误量极致优化-监控上报与 Script error

在前端开发工作中,除了项目开发保质保量上线以外,项目的数据监控也应该配套起来,确保线上的正常运转。如上报 pv 监控项目是否正常运转;测速上报反应项目质量。

1500
来自专栏编程

ajax跨域,这应该是最全的解决方案了

从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么...

2217
来自专栏拂晓风起

XMLHttpRequest HTTP请求的返回码为0 http status = 0

2102
来自专栏meteorzx

express模拟接口

Failed to load http://192.168.xxx.xxx:9092/api/user/query?id=user123&name=%E6%B5...

4516
来自专栏Create Sun

python 3.x 爬虫基础---http headers详解

前言    上一篇文章 python 爬虫入门案例----爬取某站上海租房图片 中有对headers的讲解,可能是对爬虫了解的不够深刻,所以老觉得这是一项特别简...

41311
来自专栏编程坑太多

python3爬取小说存为文本实现小说下载

2394

扫码关注云+社区