webuploader 跨域问题
来源:互联网 发布:中国8月金融数据 编辑:程序博客网 时间:2024/06/05 20:38
项目中用到了上传组件 ,经过对比决定使用Webuploader 。详细使用文档请参考官方文档:官方文档。这里只介绍垮与问题。
Webuploader上传,会执行2个请求;一个option请求,一个post(根据你的webuploader的配置method 值决定),需要在option请求中对响应头进行处理,post响应头也进行响应的处理。
第一种:以servlet为例:
@WebServlet(description = "文件上传",value ={"/file/upload"})
public class FileUpload extends HttpServlet {
public FileUpload() {
super();
}
@Override
protected voiddoPost(HttpServletRequest req, HttpServletResponse resp)throwsServletException, IOException {
//安全考虑,建议不要添加*,用固定服务器域名
resp.setHeader("Access-Control-Allow-Origin", "*");
resp.setHeader("Access-Control-Allow-Methods", "*");
resp.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type");
resp.setContentType("application/json");
resp.setCharacterEncoding("utf-8");
//文件上传逻辑
}
@Override
protected voiddoGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
doPost(req, resp);
}
@Override
protected voiddoOptions(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
resp.setHeader("Access-Control-Allow-Credentials","false");
resp.setHeader("Access-Control-Allow-Origin","*");
resp.setHeader("Access-Control-Allow-Methods", "*");
resp.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type");
resp.setContentType("application/json");
resp.setCharacterEncoding("utf-8");
super.doOptions(req, resp);
}
再次测试跨域上传,正常
第二种 前端方法:(与seajs集成易出错)
跨域请求前浏览器会自动发出一个options请求,如果服务器的响应头部中有如下信息:
Access-Control-Allow-Origin: #允许访问的源,如http://localhost:3000
Access-Control-Allow-Methods: #允许的方法,如get, post
浏览器收到这个响应就会继续原来的请求,否则就会终止。
在webuploader中可以在uploadBeforeSend的回调中设置请求的头部,例如
uploader.on('uploadBeforeSend', function(obj,data, headers) {
_.extend(headers, {
"Origin": http://localhost:3000 ,
"Access-Control-Request-Method":"POST"
});
});
在服务端的post响应中增加头部:Access-Control-Allow-Origin: http://localhost:3000
- webuploader 跨域问题
- webuploader 手动提交问题
- webuploader 模态框 ueditor 显示问题
- webuploader上传遇到的问题
- WebUploader重复多次上传问题
- webuploader
- webuploader
- webuploader
- 使用WebUploader跨域上传图片,用SpringMVC实现服务器端
- 使用webuploader做文件上传,跨域请求session不一致
- webuploader解决不能重复上传问题
- 在BootStarp模态框中是用百度WebUploader失效问题
- webuploader解决不能重复上传问题
- WebUploader 选择图片按钮点击无效问题
- WebUploader获取文件上传成功路径问题
- 解决WebUploader 选择文件按钮点击无效问题
- 解决WebUploader在google浏览器中响应慢的问题
- WebUploader 上传插件选择上传文件按钮无效问题
- 并发工具类(三)控制并发线程数的Semaphore
- 道理我都懂,可我就是不爱讲道理啊
- 浮点数判等
- TP5分页传参的形式改变
- 使用BigDecimal进行精确运算
- webuploader 跨域问题
- opencv学习(四十四)之图像角点检测Harris
- log4j——从基础到应用的突破
- react-笔记
- MySQL5.7安装步骤
- Memcached之——整合Spring完整示例
- 洛谷 P1227 [JSOI2008]完美的对称
- Python :连续正数序列
- [置顶]树剖例题