gpt4 book ai didi

c# - 从 c sharp 客户端应用程序上传到 PHP 服务器

转载 作者:IT王子 更新时间:2023-10-28 23:54:34 25 4
gpt4 key购买 nike

目前我有一个 c sharp 应用程序(客户端应用程序)。和一个 web 应用程序编写的 php。每当在客户端执行特定操作时,我想传输一些文件。这是将文件上传到 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");
}

我没有从上面的代码中得到任何错误。但它似乎没有用。为什么?我错过了什么吗?

最佳答案

您当前的 PHP 代码用于处理多个 文件上传,但您的 C# 代码仅上传一个 文件。

您需要稍微修改您的 PHP 代码,删除 foreach 循环:

<?php
$uploads_dir = './files'; //Directory to save the file that comes from client application.
if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["file"]["tmp_name"];
$name = $_FILES["file"]["name"];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
?>

您还需要确保 ./files 目录存在。

我已经用你的 C# 代码测试了上面的 PHP 代码,它工作得很好。

关于c# - 从 c sharp 客户端应用程序上传到 PHP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com