【问题标题】:uploading a file with WCF REST Services使用 WCF REST 服务上传文件
【发布时间】:2026-02-11 04:25:04
【问题描述】:

我是 WCF 和 Rest 服务的新手,并尝试从我在网上找到的帖子中进行一些实现,但我仍然遇到一些问题。

所以让我解释一下我的场景。

我有一个 WPF 应用程序,其中有一个反馈表,客户可以填写该表,附上一些屏幕截图,然后发送。现在我的想法是将所有这些信息收集到一个我已经成功完成的 XML 文件中,然后将此 XML 文件上传到我的服务器上的特定文件夹中。

现在据我了解,客户端应用程序必须有一个 POST 方法才能将流发布到服务器,然后我应该在服务器上有一个 aspx 页面来解码我从 POST 获得的流,并制定我的 XML 文件,然后将其保存在文件夹中,如果我错了,请纠正我。

目前我已经在客户端实现了如下代码:-

    public static void UploadFile()
    {
        serverPath = "http://localhost:3402/GetResponse.aspx";

        filePath = "C:\\Testing\\UploadFile\\UploadFile\\asd_asd_Feedback.xml";

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serverPath);

        //request.MediaType = "text/xml";

        request.ContentType = "text/xml";

        //request.Method = "POST";

        request.Method = "POST";

        //request.ContentLength = contentLength;

        //request.ContentType = "application/x-www-form-urlencoded";  

        using (FileStream fileStream = File.OpenRead(filePath))

        using (Stream requestStream = request.GetRequestStream())
        {
           int bufferSize = 1024;

            byte[] buffer = new byte[bufferSize];

            int byteCount = 0;

            while ((byteCount = fileStream.Read(buffer, 0, bufferSize)) > 0)
            {
               requestStream.Write(buffer, 0, byteCount);

            }
        }

        string result = String.Empty;

        try
        {
           using (WebResponse response = request.GetResponse())

            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
           {
                result = reader.ReadToEnd();
            }
        }
        catch (Exception exc)
        { 

        }
        if (result == "OK")
        {

        }
        else
        {
            // error...

        }
    } 

现在如何将 requestStream 传递给 GetResponse.aspx 页面?这是正确的方法吗?

感谢您的帮助和时间

【问题讨论】:

    标签: c# wcf rest


    【解决方案1】:

    我不明白您的代码要做什么。您是否考虑过实际使用 WCF 客户端和 WCF 服务来进行实际上传?

    有一个示例可以做到这一点! This blog post details如何在服务端使用编程模型,this follow-up blog post详细说明如何在客户端使用。我已经看到它在文件上传和图像传输场景中使用了很多,所以它也可能对您的情况有所帮助!这些博客文章中的示例是文件上传。

    希望这会有所帮助!

    【讨论】:

    • 您好 Krisragh,我尝试实现该教程,但由于我是 WCF 新手,因此无法管理。基本上创建了 BlogPostRaw 类,当我尝试将它添加到正在运行的服务(Service1)时,它抛出了一个错误。您能指导我如何设置该示例吗?
    • 嗨 Krisragh,你能给我发一份这段代码的示例吗,因为我仍然无法让它正常工作
    • 嗨 Krisragh,我用另一种方式解决了它。在我的服务器上托管服务并从代码中调用它。感谢您的帮助
    最近更新 更多