首页 新闻 会员 周边

ajax异步请求预览文件 返回乱码 求大神帮忙

0
悬赏园豆:30 [已解决问题] 解决于 2013-08-20 09:22

我写了一个文件下载的功能,普通方式的文件预览没有问题

但是,我想让它在预览的时候不跳转,而是在页面内弹窗显示。

所以,我写了一个js (下面只是片段)

    $.get(url_init+"download",{"fileId":fileId},function(data){
        $("#win_open_mainlist").append(data);
        });    

 

但是 这里响应的数据是带乱码的文本, 不是原来的图片了。

正常的请求:

响应头信息原始头信息
Content-Disposition inline;filename="241101_205.jpg"
Content-Type image/jpeg
Date Mon, 19 Aug 2013 10:37:20 GMT
Server Apache-Coyote/1.1
Transfer-Encoding chunked
请求头信息原始头信息
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie JSESSIONID=8C3C78BD34FAC122DCB4AAF88F86ACE8
Host localhost:8080
Referer http://localhost:8080/dtbs/ProFollowUp!StartDetail?id=1000004880
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0


ajax请求响应的头信息是:

响应头信息原始头信息
Content-Disposition inline;filename="241101_205.jpg"
Content-Type image/jpeg
Date Mon, 19 Aug 2013 10:26:59 GMT
Server Apache-Coyote/1.1
Transfer-Encoding chunked
请求头信息原始头信息
 
Accept */*
Accept-Encoding gzip, deflate
Accept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Connection keep-alive
Cookie JSESSIONID=95E5DC670FC47F4A06B548C9BCECC210
Host localhost:8080
Referer http://localhost:8080/dtbs/ProFollowUp!StartDetail?id=1000004880
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0
X-Requested-With XMLHttpRequest

 请问应该怎么解决??

JackyWu_u51的主页 JackyWu_u51 | 初学一级 | 园豆:142
提问于:2013-08-19 18:31
< >
分享
最佳答案
0

图片...何必需要ajax从服务器呢~

直接用js,设置一个img对象的src即可~

收获园豆:30
幻天芒 | 高人七级 |园豆:37175 | 2013-08-19 20:00

恩恩 ,谢谢,不过我取的不止是img 还有其他类型的,所以我用了option标签,实现了。

不过还是谢谢你提醒。 把分数给你吧。  也没人回答。

JackyWu_u51 | 园豆:142 (初学一级) | 2013-08-20 09:22

@打工永远没前途: Ajax这样就能搞字符串,别的都考虑用别的,基本上其他的类型,都可以用url地址搞定(pdf等...)

幻天芒 | 园豆:37175 (高人七级) | 2013-08-20 09:48
其他回答(1)
0

我知道问题的原因了,  ajax请求的是xmlHttpRequest 是xml 格式的,而文件上传和下载是通过二进制文件实现的。  我直接把URL的文件加载进来就好了。

JackyWu_u51 | 园豆:142 (初学一级) | 2013-08-19 18:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册