繁体   English   中英

C#REST Webclient输入类型

[英]C# REST Webclient input type

我已经编写了一个小应用程序来测试与我编写的Web服务的连接。 我的问题是,我不知道top如何更改输入类型的名称。

我的Web服务看起来像这样

    if ($_FILES["datei"]["error"] == UPLOAD_ERR_OK) 
    {
           $tmp_name = $_FILES["datei"]["tmp_name"];
           $name = $_FILES["datei"]["name"];
           move_uploaded_file($tmp_name, $this->uploads_dir."$name");
           return $this->uploads_dir.''.$name;
    }

我可以从网络浏览器中调用它,一切正常。

<form action="index.php?action=upload" method="post" enctype="multipart/form-data"> 
<input type="file" name="datei"><br>
<input type="submit" value="Hochladen"> 
</form>

但是如果我从我的C#代码中尝试它,将变得困难

    public static void UploadFilesToRemoteUrl(string url, string datei)
    {
        System.Net.ServicePointManager.Expect100Continue = false;
        WebClient wc = new WebClient();
        byte[] arr = wc.UploadFile(url,"post",datei);

        System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
        string sr = enc.GetString(arr);
        MessageBox.Show(sr);
    }

上面的代码无法直接运行。 我发现当我将<input type="file" name="datei">更改为< input type="file" name="file"> ,它将起作用。

在这里,我的问题可以解决C#中的此问题,从而不必更改PHP代码吗?

我认为这是一个非常简单的问题,但是我对Web开发并不那么熟悉,谢谢。

我建议您使用提琴手( http://fiddler2.com/ )查看您通过网络发送的内容。 您应该比较浏览器发送的消息(工作正常)和C#中测试应用程序发送的消息。

一旦知道HTTP消息的哪个文件是错误的,就可以尝试在wc对象中更正它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM