我们正在尝试将文件从Flex客户端上传到Java EE应用程序。
在常规AMF呼叫中,我们可以访问用户主体并使用角色机制。
但是,在我们的上传servlet中,我们无法访问用户主体。
request.getUserPrincipal() // returns null
如何解决这个问题?
答案 0 :(得分:0)
前段时间,https + flex + firefox的人commented on a blog post of mine不起作用:
您是否尝试通过https在Firefox中上传文件?好吧,不要打扰,它无法完成! Adobe将它归咎于firefox,并把它们放在沙子里。在这里阅读Adobe的牙齿嘲笑和荒谬的说法: http://bugs.adobe.com/jira/browse/FP-201
最终他们举起手来说它无法修复,虽然说'我们知道这是一个严重的问题并且致力于解决它',但建议你: 1)以不同的方式将文件发送到您的服务器 2)找到另一种形式的身份验证
可能不再是这种情况 - 注册并查看链接的错误是否仍未解决。
另外 - 这可能不是你的确切问题(至少现在还没有) - 我只是在指点。
答案 1 :(得分:0)
从你的帖子开始,由于我没有使用过BlazeDS,我不知道你是否特意遇到这个问题,但听起来像你这样 -
查看您的服务器日志,或尝试使用像Fiddler这样的Web调试器(您可以调整它以明文形式显示HTTPS流量),您将看到Flash阻止自定义HTTP身份验证标头调用FileReference.upload()。为什么会这样,我不知道,但我知道没有解决方法,除了手工制作或手工制作。