5

我需要通过 .php 文件将文件上传到服务器,并且我得到了以下信息:

使用以下参数调用:/uploadFiles.php:

  • $_POST['user_id']
  • $_FILES['图像']

所以,我的问题是“使用参数 $_GET['user_id'] 和 $_FILES['image'] 调用 php”是什么意思,以及如何成功调用 php。

为了其他需要,我已经通过“POST”方法成功调用了服务器,如下所示:

var client = WebClient();
client.UploadStringCompleted += new UploadStringCompletedEventHandler(client_UploadStringCompleted);
client.Headers["Content-Type"] = "application/x-www-form-urlencoded";
client.Encoding = Encoding.UTF8;

string toSend = "http://example.com/submit.php?userid=10";
client.UploadStringAsync(new Uri(toSend), "POST", "");

当然,我在发布之前做了很多研究,从这里的主题尝试了很多解决方案: https ://stackoverflow.com/search?q=wp7+photo+upload

预先感谢您的帮助。

更新:

我发现我需要的只是模拟这个简单的 HTML UPLOAD 表单:

<form method='POST' enctype='multipart/form-data' action='http:/myserver.com/upload.php'>
File to upload <input type=file name=image><br>
user_id <input type=text name=user_id><br>
<br>
<input type=submit value=Press> to upload the file!
</form>

当我在网络浏览器中运行它时,我从upload.php 得到了很好的响应,所以我只需要在WP7 中模拟它的方法,我尝试了一切,我很绝望。

我像这样使用myToolkit ,但与使用 webclient、restsharp、hammock 时的响应相同:

var request = new HttpPostRequest("http://myserver.com/upload.php");
request.Data.Add("user_id", "389096"); // POST data
request.Files.Add(new HttpPostFile("image", "", e.ChosenPhoto, true)); // POST file
Http.Post(request, RequestFinished);
4

1 回答 1

1

我想到了。我发送了不正确的 FlyType 参数。我发送的是 image/jpg、image/jpeg、image/png,但是在模拟 HTML 上传表单时,我们必须发送“image/pjpeg”。

我在这里详细解释了它(我使用了 RestSharp): http ://nediml.wordpress.com/2012/05/10/uploading-files-to-remote-server-with-multiple-parameters/#more-234

于 2012-05-10T11:40:14.910 回答