【发布时间】:2009-12-08 18:11:58
【问题描述】:
我有一个允许用户上传文件的 flex 应用程序。 flex 端使用 FileReference.upload 方法转到处理上传的 .aspx 页面。当我将 IIS 设置为集成 Windows 身份验证时,它只会间歇性地工作。也就是说,出于测试目的,我编写了一个单独的 aspx 页面来上传文件,这总是有效的....不过,我想在漂亮的 flex 应用程序中利用文件导入,而不是启动一个新的用于文件上传的网页。
在查看 IIS 日志时,我对正在发生的事情有一个假设,并想知道是否有人完全理解为什么它可能只是间歇性地工作并且可以确认或否认这一点:
- Flex 的 FileReference 上传胆量会在客户端执行任何操作,然后向我的 .aspx 页面发起 POST 请求。失败时,IIS 日志会指出 IE 未通过凭据,因此拒绝请求,然后发送 401 响应。
- 即使我正在侦听 HTTP 状态代码(闪存错误?),我也没有在 flex 端收到此 401 响应。
- 以某种方式立即发出一个新请求以再次执行上传(这不是我的代码)。我通过查看 IIS lgos 来推断这一点,它在前一个 POST 之后显示了第二个 POST,只是这次发送了用户凭据,但更重要的是这次用户上传的文件没有上传。我通过 IIS 日志显示已发布 0 个字节的事实来推断这一点,而之前的 401 请求显示已发布大量字节。
在它确实工作的时候,会发生什么是 FileReference 发出的第一个 HTTP POST 请求恰好发送 Windows 凭据,因此客户端不会受到挑战。
在 IIS 中使用集成身份验证时,任何人都可以就如何让 FileReference.upload 持续工作提供任何想法吗?
克里斯
【问题讨论】:
标签: asp.net apache-flex iis-6 file-upload windows-authentication