【问题标题】:BackgroundUploader Sample does not work on Apache Server with PHPBackgroundUploader 示例不适用于带有 PHP 的 Apache 服务器
【发布时间】:2014-12-11 17:02:49
【问题描述】:

我必须从 Windows Phone 8.1 应用程序上传视频文件。 我正在使用BackgroundTrasfer sample,但对于服务器端只有一个 aspx 脚本。但我需要 PHP。

我找到了这个 PHP 脚本

<?php  
    $target = "upload/";  
    $target = $target . basename( $_FILES['Filename']['name']) ;  
    $ok=1;  

    if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target))  { 
        echo "The file ". basename( $_FILES['Filename']['name']). " has been uploaded"; 
    }  else { 
        echo "Sorry, there was a problem uploading your file."; 
    } 
?> 

最后我得到一个 200 并且没有错误但服务器上没有文件所以我会说服务器部分是问题吗? 我在哪里可以获得工作服务器部分脚本?

附: “upload”目录与upload.php在同一目录下,权限为777。

【问题讨论】:

标签: c# php windows-phone-8.1 windows-8.1 win-universal-app


【解决方案1】:

您需要发出multipart/form-data 请求。

尝试类似(伪代码):

List<BackgroundTransferContentPart> parts =
    new List<BackgroundTransferContentPart>();
var part = new BackgroundTransferContentPart("myFile");
part.SetFile(file);
parts.Add(part);

UploadOperation upload = await uploader.CreateUploadAsync(
    uri,
    parts);

var task = upload.StartAsycn().AsTask();

在 PHP 上,使用print_r($_FILES) 浏览接收到的文件。

【讨论】:

  • 非常感谢,这有点帮助。现在我可以说服务器部分(PHP)很好。由于多部分/表单数据,客户端部分必须更改。
  • 如果您从 PHP 脚本打印任何内容,并且希望查看来自客户端的响应,您应该查看:monkeyweekend.wordpress.com/2014/11/03/…
猜你喜欢
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 2013-01-21
相关资源
最近更新 更多