jsp使用ajaxFileUpload.js跨域问题

发布于 2021-11-19 09:41:45 字数 3105 浏览 674 评论 7

jsp代码如下
    $.ajaxFileUpload  
           (  
               {  
                   url:'http://lh.abc.com:8080/gap/gap/fileUpload.do',//用于文件上传的服务器端请求地址(本机为fxb.abc.com)  
                   secureuri:false,//一般设置为false  
                   fileElementId:'file',//文件上传空间的id属性  <input type="file" id="file" name="file" />  
                   dataType: 'jsonp',//返回值类型 一般设置为json  
                   jsonp: 'jsoncallback',  
                   jsonpCallback:'success_jsonpCallback',  
                   function success_jsonpCallback(data) {  
                       alert("1");  
                   },  
                   success: function (data, status)  //服务器成功响应处理函数  
                   {  
                       alert(data.message);//从服务器返回的json中取出message中的数据,其中message为在struts2中action中定义的成员变量  
                         
                       if(typeof(data.error) != 'undefined')  
                       {  
                           if(data.error != '')  
                           {  
                               alert(data.error);  
                           }else  
                           {  
                               alert(data.message);  
                           }  
                       }  
                   },  
                   error: function (data, status, e)//服务器响应失败处理函数  
                   {  
                       alert(status);  
                       alert(e);  
                   }  
               }  
           )  

配置文件

 <action name="fileUpload" class="com.gap.action.FileUploadAction" method="fileUpload">
            <result type="json" name="success">
                <param name="contentType">
                    text/html
                </param>
            </result>
            <result type="json" name="error">
                <param name="contentType">
                    text/html
                </param>
            </result>
        </action>

action中的处理如下

	public String fileUpload() throws Exception {

		String path = ServletActionContext.getRequest().getRealPath("/upload1");
		// String path = ConfigDataInfo.getConfigValue("imgServer");

		try {
			File f = this.getFile();
			if (this.getFileFileName().endsWith(".exe")) {
				message = "对不起,你上传的文件格式不允许!!!";
			} else {
				FileInputStream inputStream = new FileInputStream(f);
				FileOutputStream outputStream = new FileOutputStream(path + "/"
						+ this.getFileFileName());
				byte[] buf = new byte[1024];
				int length = 0;
				while ((length = inputStream.read(buf)) != -1) {
					outputStream.write(buf, 0, length);
				}
				inputStream.close();
				outputStream.flush();
				message = "上传成功";
			}
		} catch (Exception e) {
			e.printStackTrace();
			message = "对不起,文件上传失败了!!!!";
		}
		return SUCCESS;
	}

每次跨域上传图片时,可以成功上传到服务器上,但是不能正确的返回信息,总是进入error方法中,正确应该进入success方法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

海之角 2021-11-26 04:18:33

楼主最后是怎么解决的?

够钟 2021-11-26 04:04:18

你是不是js没导入呢

永不分离 2021-11-26 02:47:46

不要加我QQ了.

不再见 2021-11-25 23:54:54

怎么解决的 贴代码看看 留个QQ 我这几天被这个折磨死了

百思不得你姐 2021-11-25 23:46:27

回复
能给说下解决办法不,我也在为这个问题头疼

裸钻 2021-11-25 16:05:57

回复
请问是怎么解决的,求方法。回复到 OSC 即可。

够钟 2021-11-24 22:43:51

自己顶一个 没人知道么

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文