起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8276|回复: 8

[处理中3] 使用window.open下载文件中含有中文问题,急

[复制链接]

19

主题

83

帖子

519

积分

高级会员

Rank: 4

积分
519
QQ
发表于 2018-8-23 13:44:11 | 显示全部楼层 |阅读模式
版本:BeX5 3.7
问题:在开发环境(调试模式中),window.open()可以下载,经过encodeURI函数编码后的含有中文路径地址的文件如:
  1. var url = encodeURI(require.toUrl("$UI/OA/..../物资.xls"))
  2. window.open(url)
复制代码
          使用startup.bat启动tomcat(正式部署环境),使用同样的方法,物资将会变成%20%20,即为两个空格,导致文件无法下载


自己分析结果:因为正式环境中对上述已编码的路径进行了一次解码(因为我测试经过两次encode编码,就可以下载了),解码回了物资两个字,Google浏览器无法识别中文将其转换成了%20(空格),找不到文件,无法下载
求解:1.为什么正式环境会发生这样对路径进行解码情况?
           2.这种情况怎么处理,是版本缺陷吗,还是什么地方需要配置,我看了tomcat的server.xml中有URIEncoding='utf-8'?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35913
发表于 2018-8-23 13:55:52 | 显示全部楼层
tomcat下自己创建一个html创建一个中文名的文件,html中同样的操作有问题吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

83

帖子

519

积分

高级会员

Rank: 4

积分
519
QQ
 楼主| 发表于 2018-8-23 14:14:35 来自手机 | 显示全部楼层
jishuang 发表于 2018-8-23 13:55
tomcat下自己创建一个html创建一个中文名的文件,html中同样的操作有问题吗? ...

没有问题
15350048219050.30956349474333644.jpg
回复 支持 反对

使用道具 举报

19

主题

83

帖子

519

积分

高级会员

Rank: 4

积分
519
QQ
 楼主| 发表于 2018-8-23 14:16:13 来自手机 | 显示全部楼层
jishuang 发表于 2018-8-23 13:55
tomcat下自己创建一个html创建一个中文名的文件,html中同样的操作有问题吗? ...

你本地拿3.7测试一下呗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35913
发表于 2018-8-23 15:30:50 | 显示全部楼层
开发模式和非开发模式都要两次转码,本地测试没问题
https://blog.csdn.net/howlaa/article/details/12834595
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

83

帖子

519

积分

高级会员

Rank: 4

积分
519
QQ
 楼主| 发表于 2018-8-24 04:02:56 来自手机 | 显示全部楼层
jishuang 发表于 2018-8-23 15:30
开发模式和非开发模式都要两次转码,本地测试没问题
https://blog.csdn.net/howlaa/article/details/128345 ...

但我的测试,开发版和非开发版的确不一样,算了,结贴吧
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35913
发表于 2018-8-24 08:55:42 | 显示全部楼层
不加转码和一次转码是有问题,要两次转码都是一样的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

19

主题

83

帖子

519

积分

高级会员

Rank: 4

积分
519
QQ
 楼主| 发表于 2018-8-24 11:16:32 来自手机 | 显示全部楼层
jishuang 发表于 2018-8-24 08:55
不加转码和一次转码是有问题,要两次转码都是一样的

我这边studio中启动Tomcat也就是开发模式启动,两次转码会卡在那个页面不动,的确把%变成了25%,但是开发模式不识别路径,而正式版却没问题,下图是开发版状态
15350805574180.1207671244504831.jpg
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35913
发表于 2018-8-24 11:28:33 | 显示全部楼层
用window.open(encodeURI(encodeURI("/x5/UI2/appdemo/test/process/attachmentEditor2/测试.doc")));这样的方式看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-20 21:42 , Processed in 0.107661 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表