从 Silverlight 上传到 PHP 时出现安全异常

发布于 2024-09-25 14:26:24 字数 1386 浏览 15 评论 0原文

我使用官方的 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 正在迫使它中止写入。

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

I am using the official Microsoft example and this example as the basis for my code to upload a file from Silverlight to a PHP script.

I am calling **HttpWebRequest.BeginGetRequestStream()**, writing the file over a file stream, and then calling **HttpWebRequest.BeginGetResponse()** to get the response. When I call HttpWebResponse.EndGetResponse() I get the following exception every single time:

{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)}

I have both clientaccesspolicy.xml and crossdomain.xml files in the base directory that allow access. I ran Fiddler and have seen it download the clientaccesspolicy.xml file so it is hitting it correctly.

The PHP file is running on Apache2 and just does a fread on php://input to read the data as the examples show. It is not receiving any data which leads me to believe that the SecurityException is forcing it to abort the write.

Has anybody seen this issue before and can point me in the right direction of a solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

御守 2024-10-02 14:26:24

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

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

Have you checked to make sure the webserver/php application has write access to the directory you plan on storing the uploaded file to?

This could be causing it to abort prematurely.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文