目标文件在服务器端生成,文件名不确定。
[b]问题:[/b]下载文件时要求保持服务器生成的文件名不变,在Flex端下载时如何得到这个文件名呢?(默认情况下它会显示servlet的名字)
[b]问题补充:[/b]
[quote]服务器端是java的么,用response.setHeader("filename",你想要的名字)试试[/quote]
谢谢回答这个问题的仁兄,我的是java写的,也设置了这个header,问题是Flex不认这个,它是在文件真正开始下载前就要提示用户选择保存位置的。我在Flex端用的是FileReference这个类。
[b]问题补充:[/b]
我现在的做法是用navigateToURL(new URLRequest("servlet?id=123"),"_blank");来做的.
还没有在FileReference中找到相应的办法,它只对请求的是已经存在的文件有作用,比如:http://www.xx.com/aa.zip,这样可以保存成aa.zip,或者是重命名,但对于动态生成的文件就无能为力了.
我想这样说,大家更能明白我的意思了吧?
[b]问题补充:[/b]
[quote]...我建议REST的方法你可以试试
即用urlrewriter,把servlet?id=11&name=aa.zip改为
http://xxx/downfileServlet/aa.zip?id=11
这样flex解析url是aa.zip,而你的filter能解析出id=11 [/quote]
非常感谢这位仁兄,你说的这个方式我还真没想过。不过,我这里的文件名是根据条件生成的,是动态的,而serlvet配置又不允许/servlet/*.zip这样的语法,所以...