2

我使用 Microsoft 官方示例和示例作为我的代码的基础,以将文件从 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 正在强制它中止写入。

有没有人以前见过这个问题并且可以指出我正确的解决方案方向?

4

1 回答 1

0

您是否检查过以确保 webserver/php 应用程序对您计划存储上传文件的目录具有写入权限?

这可能会导致它过早中止。

于 2012-05-17T20:48:33.233 回答