使用webuploader做文件上传,跨域请求session不一致

继上一篇文章,使用百度webuploader插件做文件上传.webuploader能够兼容主流浏览器,做一些文件上传操作还是不错的。

在使用uploader上传文件遇到了跨域问题,解决方案:前端页面设置(增加请求头信息) 或者后台设置。查看webuploader官方使用手册:

有一个事件即上传之前触发:

uploadBeforeSend:

  • object {Object}
  • data {Object}

    默认的上传参数,可以扩展此对象来控制上传参数。

  • headers {Object}

    可以扩展此对象来控制上传头部。

可扩展 headers如:
uploader.on( ' uploadBeforeSend', function( object  , data  ,headers ) {
...

$.extends("headers",{

// 添加header参数

...

});

...
});

后台设置跨域,使用@CrossOrigin注解。

文件能够进行上传请求,如果遇到sessionId不一致,可做如下处理:

webuploader.js ,将withCredentials设为true,默认为false:

Transport.options = {
            ...
            // 跨域时,是否允许携带cookie, 只有html5 runtime才有效
            withCredentials: false, // 设置为true
      ...
        };

处理后,跨域请求正常,session能够获取了。


注:鄙人不才,有不对地方请指正。



你可能感兴趣的:(java)