目前我有一个C#应用程序(客户端应用程序),以及一个用PHP编写的Web应用程序。我想在客户端执行特定操作时传输一些文件。以下是上传文件到PHP服务器的客户端代码。
private void button1_Click(object sender, EventArgs e)
{
System.Net.WebClient Client = new System.Net.WebClient();
Client.Headers.Add("Content-Type", "binary/octet-stream");
byte[] result = Client.UploadFile("http://localhost/project1/upload.php", "POST",
@"C:\test\a.jpg");
string s = System.Text.Encoding.UTF8.GetString(result, 0, result.Length);
}
这是用于移动文件的upload.php文件。
$uploads_dir = './files/'; //Directory to save the file that comes from client application.
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
我从上面的代码中没有得到任何错误信息,但它似乎并未起作用。为什么会这样?我错过了什么吗?
multipart/form-data
吗? - bfavaretto