java 跨域上传_java使用webuploader实现跨域上传详解
前言
项目中使用webuploader进行文件上传,需要用到跨域,查看webuploader的issues发现是支持上传的,但是他们写的回复都是不清不白的,有点迷糊;想了半天才知道咋回事,也可能是我比较笨,再次记录下java中详细的处理。
webuploader进行上传,会执行2个请求;一个option请求,一个post(根据你的webuploader的配置method 值决定),需要在option请求中对响应头进行处理,post响应头也进行响应的处理。
以servlet为例:
@WebServlet(description = "文件上传",value = {"/file/upload"})
public class FileUpload extends HttpServlet {
public FileUpload() {
super();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, 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 void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, 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);
}
再次测试跨域上传,正常
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
java 跨域上传_java使用webuploader实现跨域上传详解相关推荐
- java实体字节属性定义_Java字节码方法表与属性表详解
而这些字节其实对应的信息是它: 所以问题就来了,aload_0不是助记符信息么,怎么就能够跟字节码文件中的字节对应上呢?所谓助记符其实也就是帮忙我们去记忆的符合,在底层其实也是对应的一个个十六进制的数 ...
- java每一个小时同步_Java同步块(synchronized block)使用详解
Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本文介绍以下内容: Java同步关键字(synchronzied) 实例方法同步 静 ...
- Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解
这篇文章主要介绍了Java Iterator接口遍历单列集合迭代器原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Iterator接口概述 ...
- java反射设置属性值_Java反射如何有效的修改final属性值详解
前言 以前写过一篇 Java 反射修改 final 属性值,本文将在这里重新温习一下Java反射如何有效的修改final属性值,下面话不多说了,来一起看看详细的介绍: 假设有个类 class Pers ...
- java socket中的方法_Java中关于Socket的方法与作用详解
1.java.net.Socket;套接字.封装了TCP通讯协议,使用它可以基于TCP与远端计算机上的服务端应用程序链接并进行通讯. 实例化Socket就是与服务器端建立连接的过程.这里需要传入两个参 ...
- java正确定义一维数组_java一维数组定义,创建一维数组详解
前面给大家介绍了一下什么是java数组,下面要接着给大家介绍的就是java一维数组定的定义以及创建一维数组方面的知识. 数组当中的每个元素都只带有一个下标的时候,这样的数组就是一维数组,一维数组实质上 ...
- java的数组查找算法_java数组、排序算法、查找算法详解
1.为什么定义数组要采用type[] arrayName;这种方式? 因为这种方式具有很好的可读性,使用这种方式很容易就可以理解这是定义一个变量,其中变量名是arrayName,变量的类型是type[ ...
- java super父类的父类_java super关键字,super访问父类成员详解
之情给大家介绍了一下super调用父类构造方法方面的内容,下面要接着给大家介绍的就是super访问父类成员方面的内容,分别对super调用成员属性以及super调用成员方法做了详细介绍. 在子类的成员 ...
- java 对象重写equals方法_Java如何重写object类的equals方法详解
1.Object类的equals()方法: 比较两个对象是否是同一个对象,equals() 方法比较两个对象,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等.是则返回tru ...
最新文章
- 如何在XAF中显示自定义窗体和控件
- 高并发-【抢红包案例】之一:SSM环境搭建及复现红包超发问题
- 疯狂秀才权限管理系统,开源了
- android 名称解释
- 重读模电教材一_童诗白、华成英
- 2020.9.28 爱客影视3.6.5-pro完整版搭建完毕带解析接口无广告
- IsPostBack深入探讨
- Spark生态之Alluxio学习15--alluxio性能分析和加速方式
- 傅里叶变换对应的matlab函数,用MATLAB如何实现傅里叶变换
- 复合函数高阶求导公式_高中数学复合函数求导公式及法则
- Paper Notes: Cross-Domain Image Translation Based on GAN
- 如何发送国际短信更便宜、更稳定?
- 通过AI,领略皮影戏艺术 | MixLab人工智能
- MATLAB铁轨检测+异物识别
- Apk 拆包替换文件
- 干货!容忍数据缺失的临床超声报告知识图谱乳腺癌诊断
- 【博文汇总】Java程序设计语言
- 【风马一族_mysql】mysql基本指令
- 和王兴并肩战斗十余年,王慧文的精华思考都在这里了
- Unity_MegaFiers_Hump
热门文章
- Hadoop大数据——MR程序map任务数的规划机制
- AngularJS 快速编程入门
- python装饰器 property_python中property和setter装饰器用法
- c++中类的申明和定义
- i7 8700 服务器系统,i7 8700k 云服务器6
- sts4创建spring项目_使用STS4新建springboot项目
- c语言变凉存储性,C语言数据的表示和存储(IEEE 754标准)
- python宇晨_Python 学习第11天 yield 和异常处理
- 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解
- 0402封装ESD二极管选型