Jfinal 跨域上传文件
@jfinal 在使用vuejs做前端开发时,采用wangeditor作为编辑器,上传图片设置为跨域方式。但是在wangeditor调用上传url时先请求options,可自己写jfinal处理上传ctrl却只执行一次返回200状态给wanggeditor后却不能再post请求。
浏览器访问截图如下:
代码如下:
/**
*wangEditor上传
*/
public void wangEditorUpload(){
String reqMethod=this.getRequest().getMethod();
// if(!"POST".equals(reqMethod)){
// renderNull();
// return;
// }
String path = this.getRequest().getRealPath("/image");
File file = new File(path);
if (!file.exists())
file.mkdirs();
String fileName = "";// 文件名称
UploadFile uploadFile=this.getFile();
/**上传文件处理内容**/
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
sfu.setHeaderEncoding("UTF-8"); // 处理中文问题
sfu.setSizeMax(1024 * 1024); // 限制文件大小
try {
List<FileItem> fileItems = sfu.parseRequest(this.getRequest()); // 解码请求
for (FileItem fi : fileItems) {
fileName = UUID.randomUUID()+fi.getName().substring(fi.getName().lastIndexOf("."),fi.getName().length());
fi.write(new File(path, fileName));
}
} catch (Exception e) {
e.printStackTrace();
}
//获取图片url地址
String imgUrl = "http://localhost:8080/upload/image/" + fileName;
this.renderText(imgUrl); //返回url地址
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
设置header都添加了,没有起到作用。
查查请求头
加上这个试试?
目前是在开发中碰到的跨域,即web前端采用8085端口访问,服务器接口采用8080。那么就会导致跨域问题。在正式发布会在统一的域名下即可解决。但是不代表就不去解决这样跨域的问题。望有大神提出方案来解决。