【发布时间】:2010-09-29 17:23:40
【问题描述】:
我使用 Microsoft 官方示例和 this 示例作为我的代码的基础,以将文件从 Silverlight 上传到 PHP 脚本。
我正在调用**HttpWebRequest.BeginGetRequestStream()**,将文件写入文件流,然后调用**HttpWebRequest.BeginGetResponse()** 以获取响应。当我调用 HttpWebResponse.EndGetResponse() 时,我每次都会收到以下异常:
{System.Security.SecurityException ---> System.Security.SecurityException: Security error.
at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState)
--- End of inner exception stack trace ---
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at FileUpload.FileUploadProcess.GetReponseCallback(IAsyncResult AsyncResult)}
我在允许访问的基本目录中有 clientaccesspolicy.xml 和 crossdomain.xml 文件。我运行了 Fiddler 并看到它下载了 clientaccesspolicy.xml 文件,所以它可以正确地访问它。
PHP 文件在 Apache2 上运行,只是在 php://input 上执行 fread 以读取数据,如示例所示。它没有收到任何数据,这让我相信 SecurityException 正在强制它中止写入。
以前有没有人见过这个问题并且可以指出解决方案的正确方向?
【问题讨论】:
标签: php silverlight file-upload securityexception