0

最近我一直在开发我的第一个 C# 应用程序,并且我完成了界面的工作——它非常完美。

现在我被困在我得到一个打开文件对话框的部分,然后将该文件发送到位于本地主机(wamp)上的我的 PHP 脚本。

这就是我一直在尝试做的事情:

        private void menu_upload_file_Click(object sender, EventArgs e)
        {
            DialogResult dialogOpened = openFileDialog1.ShowDialog();
            if (dialogOpened == DialogResult.OK)
            {
                string filename = openFileDialog1.FileName;

                using (var client = new WebClient())
                {
                    client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename);
                }
            }
        }

什么都没有发生,文件没有被发送(复制)到我想要的位置。

您可能知道我成功打开了“打开文件”对话框,但我不知道我是否正在捕获文件名/目录并将其发送到我的网站以便它可以处理它。

也许网址很复杂?我需要发送那些提交和操作参数,否则脚本将无法加载。

哦,并且:在 PHP 中,$_FILES数组必须命名为images( $_FILES['images']),也许这就是问题所在?(在这里问的时候想到了这个)。

那么文件没有发送到我的网站的问题是什么?

4

2 回答 2

2

假设client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename);没有引发异常,请尝试查看响应。

var response = client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload",  "POST", filename);

Console.WriteLine("\nResponse Received.The contents of the file uploaded are:\n{0}",
                System.Text.Encoding.ASCII.GetString(response));
于 2013-02-05T20:31:51.877 回答
1

问题出在我的 PHP 脚本中。我一直在寻找$_FILES['images']那里,没有别的。然后经过一些谷歌搜索,我注意到 C# 发送了以file( $_FILES['file']) 命名的文件数组。

我对我的 PHP 脚本进行了必要的更改,现在一切正常。

于 2013-02-07T17:29:49.927 回答