关闭
weixin_40903250 2024-03-06 13:43 采纳率: 33.3%
浏览 69
已结题

C# winform POST 上传form表单

C# winform POST 上传form表单
写一个上传demo
URL:
http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest

Header:
参数名称
OrgCode

Body:
Form表单格式:
pdf:PDF附件 file类型
picture:照片附件 file类型
data:文本 string 类型

img

img

  • 写回答

24条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-06 13:43
    关注
    获得0.30元问题酬金

    引自免费微信小程序:皆我百晓生

    在C# Winform中,要实现一个POST上传表单数据(包括PDF附件和照片附件)的demo,你可以使用HttpClient类来发送请求。以下是一个完整的C#代码示例:

    using System;
    using System.Net.Http;
    using System.IO;
    using System.Net.Http.Headers;
    using System.Threading.Tasks;
    
    public class FormUploadDemo
    {
        public async Task<HttpResponseMessage> UploadFormData(string orgCode, string pdfFilePath, string pictureFilePath, string data)
        {
            var httpClient = new HttpClient();
    
            // 设置Header
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "your_token_here"); // 如果需要身份验证,请替换为实际token
            httpClient.DefaultRequestHeaders.Add("OrgCode", orgCode);
    
            MultipartFormDataContent form = new MultipartFormDataContent();
            
            // 添加PDF附件
            byte[] pdfFileBytes = File.ReadAllBytes(pdfFilePath);
            StreamContent pdfContent = new StreamContent(new MemoryStream(pdfFileBytes));
            pdfContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/pdf");
            form.Add(pdfContent, "pdf", Path.GetFileName(pdfFilePath));
    
            // 添加照片附件
            byte[] pictureFileBytes = File.ReadAllBytes(pictureFilePath);
            StreamContent pictureContent = new StreamContent(new MemoryStream(pictureFileBytes));
            pictureContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/png"); // 假设是PNG格式图片
            form.Add(pictureContent, "picture", Path.GetFileName(pictureFilePath));
    
            // 添加文本数据
            StringContent dataContent = new StringContent(data);
            form.Add(dataContent, "data");
    
            // 发送POST请求
            HttpResponseMessage response = await httpClient.PostAsync("http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest", form);
    
            return response;
        }
    
        public async Task Run()
        {
            string orgCode = "47";
            string pdfFilePath = @"C:\path\to\your\file\TestPDF.pdf";
            string pictureFilePath = @"C:\path\to\your\file\照片测试.png";
            string data = "QEtXXyUnHWbZWKuG9KFFLS4gP/NLOPmDJ/642neRLYkjn5vwSOkTb95+GMb2";
    
            HttpResponseMessage response = await UploadFormData(orgCode, pdfFilePath, pictureFilePath, data);
            if (response.IsSuccessStatusCode)
            {
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine($"上传成功, 返回结果: {responseBody}");
            }
            else
            {
                Console.WriteLine($"上传失败, 状态码: {response.StatusCode}");
            }
        }
    }
    
    // 在你的Winform程序主方法或按钮事件处理程序中调用Run方法
    public static void Main(string[] args)
    {
        FormUploadDemo demo = new FormUploadDemo();
        demo.Run().Wait();
    }
    

    请注意替换上述代码中的your_token_here为实际的认证令牌(如果接口需要的话),以及正确的文件路径pdfFilePathpictureFilePath

    此代码片段展示了如何创建一个MultipartFormDataContent对象,并将PDF、照片附件以及文本数据添加到请求体中。然后通过HttpClient实例的PostAsync方法向指定URL发送POST请求。

    展开全部

    评论 编辑记录
    专家-赤兔[在线] 2024-03-06 13:44

    如问题解决,请采纳,感谢!如还有疑问,请回复我沟通解决!

    回复
  • 专家-皆知 2024-03-06 13:44
    关注

    引自免费微信小程序:皆我百晓生

    在C# WinForm中,你可以使用HttpClient类来实现POST请求并上传form表单数据。以下是一个包含PDF、照片附件和文本数据的完整上传示例:

    using System;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.IO;
    
    public async void UploadFormData()
    {
        // 设置HTTP客户端
        using (var httpClient = new HttpClient())
        {
            // 设置请求URL
            string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
    
            // 设置Header信息(根据实际情况调整)
            httpClient.DefaultRequestHeaders.Accept.Clear();
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));
    
            // 准备multipart/form-data内容
            var content = new MultipartFormDataContent();
    
            // 假设OrgCode已在本地获取到
            string orgCode = "your_org_code_here";
            content.Add(new StringContent(orgCode), "OrgCode");
    
            // 上传PDF文件(替换为实际PDF文件路径)
            byte[] pdfFileBytes = File.ReadAllBytes(@"C:\path_to_your_pdf_file\file.pdf");
            var pdfContent = new ByteArrayContent(pdfFileBytes);
            pdfContent.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
            content.Add(pdfContent, "pdf", "file.pdf");
    
            // 上传照片文件(替换为实际照片文件路径)
            byte[] pictureFileBytes = File.ReadAllBytes(@"C:\path_to_your_picture_file\image.jpg");
            var pictureContent = new ByteArrayContent(pictureFileBytes);
            pictureContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
            content.Add(pictureContent, "picture", "image.jpg");
    
            // 添加文本数据
            string data = "{img1}{img2}";
            content.Add(new StringContent(data), "data");
    
            // 发送POST请求
            HttpResponseMessage response = await httpClient.PostAsync(url, content);
    
            // 检查响应状态码
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine("文件上传成功!");
            }
            else
            {
                Console.WriteLine($"上传失败,错误代码:{response.StatusCode}");
            }
        }
    }
    

    请注意替换上述代码中的"your_org_code_here"@"C:\path_to_your_pdf_file\file.pdf"以及@"C:\path_to_your_picture_file\image.jpg"为你实际需要上传的数据路径和值。

    由于HTTP POST请求的具体格式可能因服务端接口的要求而变化,确保上述MultipartFormDataContent构造方式与服务端接口规范相匹配。如果服务端要求Content-Type是multipart/form-data而不是application/x-www-form-urlencoded,则上述代码应该能满足需求。如果接口有其它特殊要求,请按需修改。

    展开全部

    评论
  • GISer Liu 2024-03-06 13:44
    关注
    获得0.30元问题酬金

    该回答引用自GPT-4,由博主GISer Liu编写:

    根据问题描述,你需要编写一个 C# WinForm 应用程序来实现对指定 URL 的 POST
    请求,上传包含表单数据的请求体,并且表单数据包括三个部分:PDF 附件、照片附件和文本字符串。
    解决方案的思路如下:

    1. 创建一个 C# WinForm 应用程序。
    2. 在应用程序中添加一个文件选择框用于选择 PDF 文件和照片文件。
    3. 添加一个文本框用于输入文本字符串。
    4. 创建一个按钮,当用户点击该按钮时,触发上传动作。
    5. 在按钮的点击事件中,构造表单数据,包括 OrgCode 参数、PDF 文件、照片文件和文本字符串。
    6. 使用 HttpClient 发送 POST 请求,将表单数据上传到指定的 URL。
    7. 处理服务器响应,查看上传是否成功。
      接下来,我将给出一个简单的示例代码,演示如何实现这个功能:
      csharpCopy code
      using System;
      using System.IO;
      using System.Net.Http;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows.Forms;
      namespace FormUploadDemo
      {
      public partial class Form1 : Form
      {
      private const string apiUrl = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
      private const string OrgCode = "YourOrgCodeHere"; // 替换成你的 OrgCode
      public Form1()
      {
      InitializeComponent();
      }
      private async void btnUpload_Click(object sender, EventArgs e)
      {
      using (var client = new HttpClient())
      using (var content = new MultipartFormDataContent())
      {
      // 添加 OrgCode 参数
      content.Add(new StringContent(OrgCode), "OrgCode");
      // 添加 PDF 文件
      if (!string.IsNullOrEmpty(txtPDFFilePath.Text) && File.Exists(txtPDFFilePath.Text))
      {
      var pdfStream = new FileStream(txtPDFFilePath.Text, FileMode.Open);
      content.Add(new StreamContent(pdfStream), "pdf", Path.GetFileName(txtPDFFilePath.Text));
      }
      // 添加照片文件
      if (!string.IsNullOrEmpty(txtPhotoFilePath.Text) && File.Exists(txtPhotoFilePath.Text))
      {
      var photoStream = new FileStream(txtPhotoFilePath.Text, FileMode.Open);
      content.Add(new StreamContent(photoStream), "picture", Path.GetFileName(txtPhotoFilePath.Text));
      }
      // 添加文本字符串
      if (!string.IsNullOrEmpty(txtData.Text))
      {
      content.Add(new StringContent(txtData.Text), "data");
      }
      // 发送 POST 请求
      var response = await client.PostAsync(apiUrl, content);
      // 处理服务器响应
      if (response.IsSuccessStatusCode)
      {
      MessageBox.Show("上传成功");
      }
      else
      {
      MessageBox.Show("上传失败:" + response.ReasonPhrase);
      }
      }
      }
      private void btnBrowsePDF_Click(object sender, EventArgs e)
      {
      using (var openFileDialog = new OpenFileDialog())
      {
      openFileDialog.Filter = "PDF Files|*.pdf";
      if (openFileDialog.ShowDialog() == DialogResult.OK)
      {
      txtPDFFilePath.Text = openFileDialog.FileName;
      }
      }
      }
      private void btnBrowsePhoto_Click(object sender, EventArgs e)
      {
      using (var openFileDialog = new OpenFileDialog())
      {
      openFileDialog.Filter = "Image Files|*.jpg;*.jpeg;*.png;*.gif";
      if (openFileDialog.ShowDialog() == DialogResult.OK)
      {
      txtPhotoFilePath.Text = openFileDialog.FileName;
      }
      }
      }
      }
      }
      
      上面的代码是一个简单的 WinForm 应用程序,包含一个按钮用于触发上传操作,以及三个文本框分别用于显示 PDF
      文件路径、照片文件路径和文本字符串。点击按钮后,程序会将表单数据构造成 multipart/form-data 格式,然后使用 HttpClient 发送
      POST 请求到指定的 URL。
      请注意,你需要将 YourOrgCodeHere 替换成你实际的
      OrgCode,并根据你的实际需求进行修改和扩展。此外,需要确保你的应用程序具有访问文件的权限,并且确保 PDF 文件和照片文件的路径是正确的。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    展开全部

    评论
  • 叫兽-郭老师 Java领域新星创作者 2024-03-06 13:44
    关注
    获得0.30元问题酬金

    🌈🌈🌈参考通义千问和郭老师的小迷弟雅思莫了-编写提供🌈🌈🌈
    您可以参考如下,如果回答的不正确,及时评论区回复我,我会根据你错误描述追加回复,直到您满意为止。

    你可以使用C#自带的HttpClient来实现POST文件上传的功能。你需要构造一个MultipartFormDataContent对象,然后将你要上传的文件和数据都添加到这个对象中,再用HttpClient发送POST请求。以下是一个例子:

    using System.Net.Http;
    using System.IO;
    
    public async void UploadFiles(string url, string pdfFilePath, string pictureFilePath, string dataContent, string orgCode)
    {
        using (var content = new MultipartFormDataContent())
        {
            // 你的OrgCode应放在Header中的Authorization里面
            var buffer = System.Text.Encoding.UTF8.GetBytes("Basic " + orgCode);
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(buffer));
    
            // 上传PDF文件
            var pdfData = File.ReadAllBytes(pdfFilePath);
            var pdfContent = new ByteArrayContent(pdfData);
            pdfContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
            content.Add(pdfContent, "pdf", "file1.pdf");
    
            // 上传图片文件
            var pictureData = File.ReadAllBytes(pictureFilePath);
            var pictureContent = new ByteArrayContent(pictureData);
            pictureContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data");
            content.Add(pictureContent, "picture", "file2.jpg");
    
            // 上传文本数据
            var stringContent = new StringContent(dataContent);
            content.Add(stringContent, "data");
    
            // 发送POST请求
            using (var client = new HttpClient())
            using (var response = await client.PostAsync(url, content))
            {
                // 输出HTTP响应的状态码
                Console.WriteLine(response.StatusCode);
            }
        }
    }
    
    

    注意要将这个函数的调用放在一个异步的上下文里,比如事件处理函数。举个例子,你可能会在一个按钮的点击事件处理函数里调用这个UploadFiles函数:

    private async void button1_Click(object sender, EventArgs e)
    {
        await UploadFiles(url, pdfFilePath, pictureFilePath, dataContent, orgCode);
    }
    
    
    

    请注意你需要确保上传的文件真的存在,否则File.ReadAllBytes会抛出异常。你也需要根据实际情况替换上述代码中的url,文件路径,数据和Org Code。在你的URL地址被替换后,会把你的数据和文件发送到这个URL。

    展开全部

    评论 编辑记录
    叫兽-郭老师 2024-03-06 13:44

    题主您先参考下,如有问题,留言即可。如果解决问题,麻烦点击下采纳,谢谢!

    回复
    叫兽-郭老师 2024-03-06 13:48

    原回答已修改

    回复
  • 阿里嘎多学长 2024-03-06 13:47
    关注
    获得0.15元问题酬金

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:

    在C# WinForms中,你可以使用WebClientHttpClient类来模拟POST请求并上传表单数据。这里是一个使用HttpClient的示例代码片段,它会上传PDF和照片附件以及文本数据:

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.Threading.Tasks;
    
    public class FormPostUploader
    {
        private readonly HttpClient _httpClient;
        private readonly string _url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
    
        public FormPostUploader()
        {
            _httpClient = new HttpClient();
            _httpClient.DefaultRequestHeaders.Add("OrgCode", "YOUR_ORG_CODE"); // 替换为实际的OrgCode
        }
    
        public async Task UploadFilesAsync(string pdfPath, string picturePath, string data)
        {
            using var formData = new MultipartFormDataContent();
    
            // 添加PDF文件
            using var pdfFileStream = File.OpenRead(pdfPath);
            var pdfContent = new StreamContent(pdfFileStream);
            pdfContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/pdf");
            formData.Add(pdfContent, "pdf", Path.GetFileName(pdfPath));
    
            // 添加照片文件
            using var pictureFileStream = File.OpenRead(picturePath);
            var pictureContent = new StreamContent(pictureFileStream);
            pictureContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg"); // 根据图片类型调整
            formData.Add(pictureContent, "picture", Path.GetFileName(picturePath));
    
            // 添加文本数据
            formData.Add(new StringContent(data), "data");
    
            try
            {
                // 发送POST请求
                var response = await _httpClient.PostAsync(_url, formData);
    
                // 检查响应状态
                response.EnsureSuccessStatusCode();
    
                // 如果需要处理响应内容,可以在这里添加代码
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine($"Response: {responseContent}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex.Message}");
            }
        }
    }
    

    为了使用这个类,你需要在WinForm的某个按钮点击事件中调用UploadFilesAsync方法,并传入PDF文件、照片文件的路径以及文本数据:

    private async void btnUpload_Click(object sender, EventArgs e)
    {
        string pdfPath = @"C:\path\to\your\file.pdf"; // 替换为PDF文件的实际路径
        string picturePath = @"C:\path\to\your\photo.jpg"; // 替换为照片文件的实际路径
        string data = "Your text data here"; // 替换为你的文本数据
    
        var uploader = new FormPostUploader();
        await uploader.UploadFilesAsync(pdfPath, picturePath, data);
    }
    

    请确保替换YOUR_ORG_CODE为实际的OrgCode值,同时将pdfPathpicturePath设置为要上传的文件的实际路径。此外,确保你的应用程序有足够的权限读取这些文件,并且目标URL正确且可用。

    展开全部

    评论
  • 码农阿豪@新空间 Java领域优质创作者 2024-03-06 13:49
    关注
    获得0.30元问题酬金
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    回答: 以下是一个C# WinForm POST上传Form表单的示例代码:
    private void UploadFile(string filePath)
    {
        string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
        string orgCode = "C_B200";
        string pdfKey = "pdf";
        string pictureKey = "picture";
        string dataKey = "data";
        // 创建POST请求
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        // 设置Header参数
        request.Headers.Add("OrgCode", orgCode);
        // 构造Form表单数据
        string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x");
        request.ContentType = "multipart/form-data; boundary=" + boundary;
        byte[] formData = GetFormData(filePath, boundary, pdfKey, pictureKey, dataKey);
        // 设置请求体长度
        request.ContentLength = formData.Length;
        // 写入请求体
        using (Stream requestStream = request.GetRequestStream())
        {
            requestStream.Write(formData, 0, formData.Length);
            requestStream.Close();
        }
        // 发送请求并获取响应
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        using (StreamReader responseStream = new StreamReader(response.GetResponseStream()))
        {
            string responseText = responseStream.ReadToEnd();
            Console.WriteLine(responseText);
        }
    }
    private byte[] GetFormData(string filePath, string boundary, string pdfKey, string pictureKey, string dataKey)
    {
        string fileName = Path.GetFileName(filePath);
        byte[] fileData = File.ReadAllBytes(filePath);
        MemoryStream stream = new MemoryStream();
        StreamWriter writer = new StreamWriter(stream);
        writer.WriteLine("--" + boundary);
        writer.WriteLine("Content-Disposition: form-data; name=\"" + pdfKey + "\"; filename=\"" + fileName + "\"");
        writer.WriteLine("Content-Type: application/pdf");
        writer.WriteLine();
        writer.Flush();
        stream.Write(fileData, 0, fileData.Length);
        writer.WriteLine();
        writer.WriteLine("--" + boundary);
        writer.WriteLine("Content-Disposition: form-data; name=\"" + pictureKey + "\"; filename=\"" + fileName + "\"");
        writer.WriteLine("Content-Type: image/jpeg");
        writer.WriteLine();
        writer.Flush();
        stream.Write(fileData, 0, fileData.Length);
        writer.WriteLine();
        writer.WriteLine("--" + boundary);
        writer.WriteLine("Content-Disposition: form-data; name=\"" + dataKey + "\"");
        writer.WriteLine();
        writer.WriteLine("这是一段文本");
        writer.WriteLine("--" + boundary + "--");
        writer.Flush();
        return stream.ToArray();
    }
    

    在该示例中,我们使用HttpWebRequest类来创建一个POST请求,并设置Header参数和请求体。请求体的数据是通过构造一个Form表单来实现的。我们使用文件上传时常用的“multipart/form-data”格式来构造Form表单,同时为了避免同名字段产生的冲突,我们使用了一定的分隔符(boundary)进行区分。 注: 1. 在实际开发中,url、orgCode、pdfKey、pictureKey、dataKey以及文件路径等参数应该根据具体需求进行修改。 2. 以上代码仅供参考,具体实现应结合实际情况进行调整,如加入异常处理、日志记录等。

    展开全部

    评论
  • 檀越@新空间 2024-03-06 14:52
    关注
    获得0.45元问题酬金

    weixin_40903250 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    在C# Winform中实现POST上传form表单的功能,你可以使用HttpClient类来发送HTTP请求。以下是一个简单的示例代码,按照提供的URL、Header和Body要求:

    using System;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.Text;
    
    namespace FormUploadDemo
    {
        class Program
        {
            static async System.Threading.Tasks.Task Main(string[] args)
            {
                // 定义请求参数
                string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                string orgCode = "47"; // 填写你的组织代码
                MultipartFormDataContent formData = new MultipartFormDataContent();
    
                // 添加PDF附件
                HttpContent pdfFileContent = new ByteArrayContent(File.ReadAllBytes("测试PDF.pdf"));
                pdfFileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/pdf");
                formData.Add(pdfFileContent, "pdf", "PDF附件");
    
                // 添加照片附件
                HttpContent pictureFileContent = new ByteArrayContent(File.ReadAllBytes("照片测试.png"));
                pictureFileContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/png");
                formData.Add(pictureFileContent, "picture", "照片附件");
    
                // 添加文本数据
                string textData = "QEtXXyUnHWbZWKuG9KFFLS4gP/NLOPmDJ/642neRLYkjn5vwSOkTb95+GMb2";
                formData.Add(new StringContent(textData), "data", "文本数据", Encoding.UTF8);
    
                // 创建HttpClient实例并发起POST请求
                using HttpClient httpClient = new HttpClient();
                httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "your_token"); // 如果有认证需求,替换为你的token
    
                HttpResponseMessage response = await httpClient.PostAsync(url, formData);
    
                // 检查响应状态码
                if (response.IsSuccessStatusCode)
                {
                    Console.WriteLine("上传成功,响应码:{0}", response.StatusCode);
                    string responseBody = await response.Content.ReadAsStringAsync();
                    Console.WriteLine("响应内容:{0}", responseBody);
                }
                else
                {
                    Console.WriteLine("上传失败,响应码:{0}", response.StatusCode);
                    Console.WriteLine("响应内容:{0}", await response.Content.ReadAsStringAsync());
                }
            }
        }
    }
    

    解决方案步骤:

    1. 引入必要的命名空间:

      using System.Net.Http;
      using System.Net.Http.Headers;
      
    2. 创建MultipartFormDataContent对象来管理多个表单字段。

    3. 读取文件内容,并添加到HttpContent对象中,设置ContentType

    4. 将所有字段添加到formData

    5. 使用HttpClient发起POST请求,包括Authorization头(如果有需要)。

    6. 检查响应状态码并处理结果。

    请注意,这个代码假设你已经有了PDF和图片文件,并且已经知道如何获取它们的路径。如果文件存储在应用程序目录下,可以使用相对或绝对路径。如果文件存储在其他位置,可能需要根据实际情况调整读取文件的部分。同时,确保替换掉"your_token"为你的API认证令牌。

    展开全部

    评论
  • 喵手 2024-03-06 15:19
    关注
    获得0.15元问题酬金

    该回答引用ChatGPT辅助答疑,若有帮助,还请题主采纳。


    在C# WinForm中进行POST请求上传Form表单,你可以使用HttpClient类来实现。以下是一个简单的示例代码:

    using System;
    using System.Net.Http;
    using System.Net.Http.Headers;
    
    namespace FormUploadDemo
    {
        class Program
        {
            static async System.Threading.Tasks.Task Main(string[] args)
            {
                using (var client = new HttpClient())
                {
                    // 设置请求的URL
                    string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
    
                    // 创建一个MultipartFormDataContent对象,用于构建表单数据
                    var formContent = new MultipartFormDataContent();
    
                    // 添加附件文件
                    var fileContent = new ByteArrayContent(System.IO.File.ReadAllBytes("<文件路径>"));
                    fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                    formContent.Add(fileContent, "pdf", "<文件名>.pdf");
    
                    // 添加其他文本字段
                    var stringContent = new StringContent("<文本内容>");
                    formContent.Add(stringContent, "data");
    
                    // 发送POST请求
                    var response = await client.PostAsync(url, formContent);
    
                    // 获取响应内容
                    var responseString = await response.Content.ReadAsStringAsync();
    
                    // 输出响应内容
                    Console.WriteLine(responseString);
                }
            }
        }
    }
    

    在上述代码中,你需要修改以下部分:

    1. <文件路径>替换为实际的文件路径。
    2. <文件名>.pdf替换为实际的文件名。
    3. <文本内容>替换为实际的文本内容。

    请确保在运行代码之前,你已经安装了System.Net.HttpSystem.Net.Http.Headers命名空间中的相关依赖。

    希望以上代码能帮助到你编写上传Form表单的示例。如有其他问题,请随时提问。

    展开全部

    评论
  • bug菌¹ Java领域优质创作者 2024-03-06 16:07
    关注
    获得0.45元问题酬金

    该回答引用ChatGPT,望对题主有所帮助/启发;若有帮助,还望采纳🤝🤝🤝


    下面是一个简单的 C# WinForms 上传 Form 表单的示例代码:

    using System;
    using System.Windows.Forms;
    using System.Net;
    using System.IO;
    
    namespace FormUploadDemo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void btnUpload_Click(object sender, EventArgs e)
            {
                string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                string orgCode = "YourOrgCode"; // 请替换为实际的 OrgCode
    
                using (WebClient client = new WebClient())
                {
                    client.Headers.Add("OrgCode", orgCode);
    
                    byte[] responseArray = client.UploadFile(url, "POST", "your_pdf_file_path.pdf");
                    string response = System.Text.Encoding.UTF8.GetString(responseArray);
                    
                    MessageBox.Show(response);
                }
            }
        }
    }
    

    请确保将 YourOrgCode 替换为实际的 OrgCode,并替换 your_pdf_file_path.pdf 为要上传的 PDF 文件的路径。在这个示例中,我们使用 WebClient 类来进行 POST 请求并上传文件。

    请注意,这只是一个简单的示例,实际应用中可能需要处理异常、错误检查以及其他必要的安全性和验证步骤。希望这个示例能帮助你开始编写上传 Form 表单的功能。

    展开全部

    评论
  • Java毕设王 2024-03-06 16:20
    关注
    获得0.45元问题酬金

    引用讯飞星火
    首先,我们需要创建一个C# WinForm应用程序,并添加一个按钮用于触发上传操作。接下来,我们将使用HttpClient类来发送POST请求,并将表单数据作为MultipartFormDataContent传递给服务器。

    以下是一个简单的示例:

    1. 解析:
    • 创建一个WinForm应用程序
    • 添加一个按钮用于触发上传操作
    • 使用HttpClient发送POST请求
    • 将表单数据作为MultipartFormDataContent传递给服务器
    1. 代码:
    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace UploadDemo
    {
        public partial class MainForm : Form
        {
            public MainForm()
            {
                InitializeComponent();
            }
    
            private async void btnUpload_Click(object sender, EventArgs e)
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string filePath = openFileDialog.FileName;
                    await UploadFileAsync(filePath);
                }
            }
    
            private async Task UploadFileAsync(string filePath)
            {
                string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                string orgCode = "OrgCode";
                string data = "data";
    
                using (var client = new HttpClient())
                {
                    using (var content = new MultipartFormDataContent())
                    {
                        content.Add(new StringContent(orgCode), "OrgCode");
                        content.Add(new StringContent(data), "data");
                        content.Add(new StreamContent(File.OpenRead(filePath)), "pdf", Path.GetFileName(filePath));
    
                        var response = await client.PostAsync(url, content);
                        if (response.IsSuccessStatusCode)
                        {
                            MessageBox.Show("上传成功");
                        }
                        else
                        {
                            MessageBox.Show("上传失败");
                        }
                    }
                }
            }
        }
    }
    

    这个示例中,我们创建了一个WinForm应用程序,并添加了一个按钮用于触发上传操作。当用户点击按钮时,会弹出一个文件选择对话框,用户可以选择一个PDF文件进行上传。上传操作是通过异步方法UploadFileAsync实现的,该方法使用HttpClient发送POST请求,并将表单数据作为MultipartFormDataContent传递给服务器。

    展开全部

    评论
  • CyMylive. Python领域新星创作者 2024-03-06 17:25
    关注
    获得0.30元问题酬金

    结合GPT给出回答如下请题主参考
    要实现这个功能,首先需要使用Python编写爬虫代码来抓取微博和知乎上与“联名产品发展前景”相关的用户评价。然后,我们可以使用数据挖掘和词云分析的库来进行词频统计和关键词提取。

    以下是一个示例代码,使用第三方库BeautifulSoup和jieba来实现爬虫和文本处理功能,并使用wordcloud库来生成词云图:

    import requests
    from bs4 import BeautifulSoup
    import jieba
    from wordcloud import WordCloud
    import matplotlib.pyplot as plt
    
    # 爬取微博上的用户评价
    def crawl_weibo():
        url = "https://weibo.com/"
        # 发送GET请求获取网页内容
        response = requests.get(url)
        soup = BeautifulSoup(response.text, "html.parser")
        # TODO: 根据网页结构提取用户评价的内容
    
        # 返回用户评价内容列表
        return []
    
    # 爬取知乎上的用户评价
    def crawl_zhihu():
        url = "https://www.zhihu.com/"
        # 发送GET请求获取网页内容
        response = requests.get(url)
        soup = BeautifulSoup(response.text, "html.parser")
        # TODO: 根据网页结构提取用户评价的内容
    
        # 返回用户评价内容列表
        return []
    
    # 对用户评价进行词频统计和关键词提取
    def analyze_comments(comments):
        # 合并用户评价为一个字符串
        text = " ".join(comments)
    
        # 使用jieba进行分词
        words = jieba.cut(text)
    
        # 统计词频
        word_freq = {}
        for word in words:
            if word not in word_freq:
                word_freq[word] = 1
            else:
                word_freq[word] += 1
    
        # 提取前10个高频词
        top_10_words = sorted(word_freq.items(), key=lambda x: x[1], reverse=True)[:10]
    
        return word_freq, top_10_words
    
    # 生成词云图
    def generate_wordcloud(word_freq):
        wordcloud = WordCloud(width=800, height=400, max_font_size=100).generate_from_frequencies(word_freq)
        plt.figure(figsize=(10, 5))
        plt.imshow(wordcloud, interpolation="bilinear")
        plt.axis("off")
        plt.show()
    
    # 爬取微博数据并进行分析
    weibo_comments = crawl_weibo()
    word_freq_weibo, top_10_words_weibo = analyze_comments(weibo_comments)
    generate_wordcloud(word_freq_weibo)
    
    # 爬取知乎数据并进行分析
    zhihu_comments = crawl_zhihu()
    word_freq_zhihu, top_10_words_zhihu = analyze_comments(zhihu_comments)
    generate_wordcloud(word_freq_zhihu)
    

    请注意,上面的代码只是一个示例,需要根据实际情况修改爬取数据的方式和网页结构解析的方式。另外,需要安装BeautifulSoup、jieba和wordcloud这三个库,可以通过pip来进行安装。

    希望这个示例能对你有所帮助!如果有任何问题,请随时向我提问。

    展开全部

    评论
  • 粉绿色的西瓜大大 2024-03-06 18:56
    关注
    获得0.15元问题酬金

    结合GPT给出回答如下请题主参考
    以下是一个使用C# Winform进行POST上传form表单的示例代码:

    using System;
    using System.Collections.Specialized;
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WinformPostDemo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void btnUpload_Click(object sender, EventArgs e)
            {
                // 创建WebClient对象
                using (WebClient client = new WebClient())
                {
                    try
                    {
                        string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                        
                        // 构造要上传的表单数据
                        NameValueCollection formData = new NameValueCollection();
                        formData["key1"] = "value1";
                        formData["key2"] = "value2";
                        formData["key3"] = "value3";
                        
                        // 向服务器发送POST请求并获取响应
                        byte[] responseBytes = client.UploadValues(url, "POST", formData);
                        string responseString = Encoding.UTF8.GetString(responseBytes);
                        
                        // 处理响应结果
                        MessageBox.Show(responseString, "Upload Result");
                    }
                    catch (WebException ex)
                    {
                        // 处理网络错误
                        MessageBox.Show(ex.Message, "Error");
                    }
                }
            }
        }
    }
    

    上述代码中,我们使用WebClient类来发送POST请求,并将要上传的数据以NameValueCollection的形式传递给服务器。在这个例子中,我们使用了3个键值对作为上传的数据。你可以根据你的实际需求修改和添加键值对。

    注意:这是一个简单的示例,实际的上传可能需要根据服务器端要求进行具体的调整和处理。

    展开全部

    评论
  • IT技术分享社区 数据库领域优质创作者 2024-03-07 02:37
    关注
    获得0.45元问题酬金

    你的需求是啥,看你的请求截图没有报错。正常运行的

    评论
  • threenewbee 2024-03-07 05:29
    关注
    获得0.45元问题酬金

    你这地址真实存在么?最好是远程帮你调试,如果需要,可以给我留言

    评论
  • 呈两面包夹芝士 2024-03-07 08:45
    关注
    获得0.15元问题酬金

    该回答引用讯飞星火及结果代码方法已验证可行
    首先,我们需要创建一个C# WinForm应用程序,并添加一个按钮用于触发上传操作。接下来,我们将使用HttpClient类来发送POST请求,并将表单数据作为MultipartFormDataContent传递给服务器。

    以下是一个简单的示例:

    1. 解析:
    • 创建一个WinForm应用程序
    • 添加一个按钮用于触发上传操作
    • 使用HttpClient发送POST请求
    • 将表单数据作为MultipartFormDataContent传递给服务器
    1. 代码:
    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace UploadDemo
    {
        public partial class MainForm : Form
        {
            public MainForm()
            {
                InitializeComponent();
            }
    
            private async void btnUpload_Click(object sender, EventArgs e)
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    string filePath = openFileDialog.FileName;
                    await UploadFileAsync(filePath);
                }
            }
    
            private async Task UploadFileAsync(string filePath)
            {
                string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                string orgCode = "OrgCode";
                string data = "data";
    
                using (var client = new HttpClient())
                {
                    using (var content = new MultipartFormDataContent())
                    {
                        content.Add(new StringContent(orgCode), "OrgCode");
                        content.Add(new StringContent(data), "data");
                        content.Add(new StreamContent(File.OpenRead(filePath)), "pdf", Path.GetFileName(filePath));
    
                        var response = await client.PostAsync(url, content);
                        if (response.IsSuccessStatusCode)
                        {
                            MessageBox.Show("上传成功");
                        }
                        else
                        {
                            MessageBox.Show("上传失败");
                        }
                    }
                }
            }
        }
    }
    

    这个示例中,我们创建了一个WinForm应用程序,并添加了一个按钮用于触发上传操作。当用户点击按钮时,会弹出一个文件选择对话框,用户可以选择一个PDF文件进行上传。上传操作是通过异步方法UploadFileAsync实现的,该方法使用HttpClient发送POST请求,并将表单数据作为MultipartFormDataContent传递给服务器。

    展开全部

    评论
  • giser@2011 2024-03-07 10:29
    关注
    获得0.15元问题酬金

    参考GPT

    在C# WinForms应用程序中,您可以使用WebRequest类来处理POST请求上传form表单。以下是一个简单的示例,展示了如何实现这一功能:

    using System
    using System.IO;
    using System.Net;
    using System.Text;
    
    namespace WinFormsPostRequest
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string url = "http://example.com/upload"; // 替换为目标URL
                string postData = "key1=value1&key2=value2"; // 表单数据,格式为键值对
    
                byte[] data = Encoding.UTF8.GetBytes(postData);
    
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = data.Length;
    
                using (Stream stream = request.GetStream())
                {
                    stream.Write(data, 0, data.Length);
                }
    
                try
                {
                    using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                    {
                        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                        {
                            string result = reader.ReadToEnd();
                            MessageBox.Show(result); // 显示服务器响应的数据
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("上传失败: " + ex.Message);
                }
            }
        }
    }
    

    在这个例子中,我们创建了一个WinForms应用程序,并在点击按钮时触发上传操作。我们首先定义了目标URL和要上传的表单数据(以键值对的形式)。然后,我们创建了一个HttpWebRequest对象,设置请求方法为POST,并指定内容类型为application/x-www-form-urlencoded

    接着,我们将表单数据转换为字节数组,并使用GetRequestStream方法获取请求流的权限。我们将数据写入请求流中。之后,我们调用GetResponse方法获取服务器的响应。

    最后,我们读取响应流,并将其显示在消息框中。如果发生异常,我们将其捕获并显示在消息框中。

    请确保将url变量的值替换为您要上传数据的目标URL,并根据需要修改postData变量中的表单数据。

    在实际应用,您可能需要根据目标服务器的具体要求调整请求的设置,例如可能需要设置一些额外的HTTP头信息或者处理cookies等。

    展开全部

    评论
  • 百锦再@新空间 全栈领域优质创作者 2024-03-07 15:30
    关注
    获得0.30元问题酬金

    需要一对一指导,请加微信15045666310

    评论
  • yy64ll826 2024-03-08 06:27
    关注
    获得0.15元问题酬金

    在C# WinForms应用程序中,您可以使用HttpClient类来发送一个包含Form表单数据的POST请求。下面是一个简单的示例,展示如何构建一个包含PDF附件、照片附件和文本数据的Form表单,并将其发送到指定的URL。

    首先,确保您的WinForms项目中已经引用了System.Net.Http命名空间。

    接下来,编写以下代码来执行上传操作:
    引用人工智能的回答

    using System;
    using System.IO;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WinFormsFileUploadDemo
    {
        public partial class MainForm : Form
        {
            public MainForm()
            {
                InitializeComponent();
            }
    
            private async void btnUpload_Click(object sender, EventArgs e)
            {
                // 设置上传的URL
                string uploadUrl = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
    
                // 设置请求头参数OrgCode(根据实际需要调整)
                var headers = new HttpRequestHeaders();
                headers.Add("OrgCode", "您的OrgCode值");
    
                // 创建HttpClient实例
                using (var client = new HttpClient())
                {
                    // 设置HttpClient的默认请求头
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    // 如果Header中有其他必要的参数,可以在这里添加
    
                    // 创建MultipartFormDataContent实例
                    var multiForm = new MultipartFormDataContent();
    
                    // 添加PDF附件
                    string pdfFilePath = "path_to_your_pdf_file.pdf"; // 替换为实际的PDF文件路径
                    var pdfContent = new StreamContent(new FileStream(pdfFilePath, FileMode.Open, FileAccess.Read));
                    pdfContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/pdf");
                    multiForm.Add(pdfContent, "pdf", Path.GetFileName(pdfFilePath));
    
                    // 添加照片附件
                    string pictureFilePath = "path_to_your_picture_file.jpg"; // 替换为实际的照片文件路径
                    var pictureContent = new StreamContent(new FileStream(pictureFilePath, FileMode.Open, FileAccess.Read));
                    pictureContent.Headers.ContentType = MediaTypeHeaderValue.Parse("image/jpeg"); // 根据实际图片格式设置
                    multiForm.Add(pictureContent, "picture", Path.GetFileName(pictureFilePath));
    
                    // 添加文本数据
                    string textData = "这里是您的文本数据";
                    var textContent = new StringContent(textData);
                    textContent.Headers.ContentType = MediaTypeHeaderValue.Parse("text/plain");
                    multiForm.Add(textContent, "data");
    
                    // 发送POST请求
                    try
                    {
                        HttpResponseMessage response = await client.PostAsync(uploadUrl, multiForm);
    
                        // 检查响应状态码
                        if (response.IsSuccessStatusCode)
                        {
                            // 成功,处理响应内容(如果有)
                            string content = await response.Content.ReadAsStringAsync();
                            MessageBox.Show("上传成功!响应内容:" + content);
                        }
                        else
                        {
                            // 失败,处理错误
                            MessageBox.Show("上传失败!状态码:" + response.StatusCode);
                        }
                    }
                    catch (Exception ex)
                    {
                        // 处理异常
                        MessageBox.Show("发生错误:" + ex.Message);
                    }
                }
            }
        }
    }
    请注意,您需要将pdfFilePath和pictureFilePath替换为实际的文件路径,并根据需要调整OrgCode的值。
    
    

    展开全部

    评论
  • 小明爱吃火锅 2024-03-08 10:16
    关注
    获得0.15元问题酬金

    引用文心一言及思考回答:
    以下是一个使用C# WinForms上传表单的示例。这个示例使用HttpClient类发送POST请求,上传文件和表单数据。

    1. 首先,在Visual Studio中创建一个新的Windows Forms应用程序项目。

    2. 在Form1设计器中添加以下控件:

    • 两个TextBox控件,分别命名为txtPdftxtPicture,用于选择PDF和图片文件。
    • 两个Button控件,分别命名为btnPdfbtnPicture,用于浏览文件。
    • 一个TextBox控件,命名为txtData,用于输入文本数据。
    • 一个Button控件,命名为btnUpload,用于上传表单。
    1. 在Form1代码文件中添加以下代码:
    using System;
    using System.IO;
    using System.Net.Http;
    using System.Windows.Forms;
    
    namespace WindowsFormsApp1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void btnPdf_Click(object sender, EventArgs e)
            {
                OpenFileDialog dialog = new OpenFileDialog();
                dialog.Filter = "PDF files (*.pdf)|*.pdf";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    txtPdf.Text = dialog.FileName;
                }
            }
    
            private void btnPicture_Click(object sender, EventArgs e)
            {
                OpenFileDialog dialog = new OpenFileDialog();
                dialog.Filter = "Image files (*.jpg, *.jpeg, *.png)|*.jpg;*.jpeg;*.png";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    txtPicture.Text = dialog.FileName;
                }
            }
    
            private async void btnUpload_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrEmpty(txtPdf.Text) || string.IsNullOrEmpty(txtPicture.Text) || string.IsNullOrEmpty(txtData.Text))
                {
                    MessageBox.Show("请选择文件并输入文本数据。");
                    return;
                }
    
                using (HttpClient client = new HttpClient())
                {
                    using (MultipartFormDataContent content = new MultipartFormDataContent())
                    {
                        // 添加文件
                        content.Add(new ByteArrayContent(File.ReadAllBytes(txtPdf.Text)), "pdf", Path.GetFileName(txtPdf.Text));
                        content.Add(new ByteArrayContent(File.ReadAllBytes(txtPicture.Text)), "picture", Path.GetFileName(txtPicture.Text));
    
                        // 添加文本数据
                        content.Add(new StringContent(txtData.Text), "data");
    
                        // 添加请求头
                        client.DefaultRequestHeaders.Add("OrgCode", "your_org_code");
    
                        // 发送POST请求
                        string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                        HttpResponseMessage response = await client.PostAsync(url, content);
    
                        // 处理响应
                        if (response.IsSuccessStatusCode)
                        {
                            MessageBox.Show("上传成功。");
                        }
                        else
                        {
                            MessageBox.Show("上传失败。");
                        }
                    }
                }
            }
        }
    }
    
    1. 编译并运行应用程序。在应用程序中,选择PDF和图片文件,输入文本数据,然后点击“上传”按钮。如果一切正常,您应该能够成功上传表单。

    请注意,这个示例仅用于演示目的。在实际应用中,您可能需要根据实际需求调整代码,例如添加错误处理、进度显示等。

    展开全部

    评论
  • 波塞冬~ 2024-03-12 01:42
    关注
    获得0.30元问题酬金
    
    using System;
    using System.IO;
    using System.Net.Http;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace WinFormsFileUploadDemo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private async void btnUpload_Click(object sender, EventArgs e)
            {
                try
                {
                    using (var client = new HttpClient())
                    {
                        using (var formData = new MultipartFormDataContent())
                        {
                            // 添加OrgCode参数到Header
                            client.DefaultRequestHeaders.Add("OrgCode", txtOrgCode.Text);
    
                            // 添加PDF附件
                            var pdfContent = new StreamContent(File.OpenRead(txtPDFPath.Text));
                            formData.Add(pdfContent, "pdf", Path.GetFileName(txtPDFPath.Text));
    
                            // 添加照片附件
                            var pictureContent = new StreamContent(File.OpenRead(txtPicturePath.Text));
                            formData.Add(pictureContent, "picture", Path.GetFileName(txtPicturePath.Text));
    
                            // 添加文本数据
                            var stringContent = new StringContent(txtData.Text);
                            formData.Add(stringContent, "data");
    
                            // 发送POST请求
                            var response = await client.PostAsync("http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest", formData);
    
                            // 确认请求成功
                            if (response.IsSuccessStatusCode)
                            {
                                MessageBox.Show("上传成功");
                            }
                            else
                            {
                                MessageBox.Show("上传失败:" + response.ReasonPhrase);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("发生异常:" + ex.Message);
                }
            }
    
            private void btnBrowsePDF_Click(object sender, EventArgs e)
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    txtPDFPath.Text = openFileDialog.FileName;
                }
            }
    
            private void btnBrowsePicture_Click(object sender, EventArgs e)
            {
                OpenFileDialog openFileDialog = new OpenFileDialog();
                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    txtPicturePath.Text = openFileDialog.FileName;
                }
            }
        }
    }
    
    

    展开全部

    评论
  • 杨同学* 2024-03-13 02:24
    关注
    获得0.30元问题酬金

    以下是一个使用C# WinForms实现POST上传表单数据的示例代码。在这个示例中,我们将使用HttpClient来进行HTTP POST请求,并且上传包含PDF附件、照片附件和文本数据的表单。

    using System;
    using System.Net.Http;
    using System.Net.Http.Headers;
    using System.IO;
    
    namespace WinFormsUploadDemo
    {
        public class FormDataUploadDemo
        {
            public async void UploadFormData()
            {
                using (var client = new HttpClient())
                {
                    var uri = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
    
                    using (var formDataContent = new MultipartFormDataContent())
                    {
                        // 添加OrgCode参数到Header
                        client.DefaultRequestHeaders.Add("OrgCode", "YourOrgCode");
    
                        // 添加PDF附件
                        var pdfFile = new FileStream("path/to/pdf/file.pdf", FileMode.Open);
                        formDataContent.Add(new StreamContent(pdfFile), "pdf", "file.pdf");
    
                        // 添加照片附件
                        var pictureFile = new FileStream("path/to/picture/file.jpg", FileMode.Open);
                        formDataContent.Add(new StreamContent(pictureFile), "picture", "file.jpg");
    
                        // 添加文本数据
                        var textData = "Your text data";
                        formDataContent.Add(new StringContent(textData), "data");
    
                        // 发起POST请求
                        var response = await client.PostAsync(uri, formDataContent);
    
                        // 处理响应结果
                        if (response.IsSuccessStatusCode)
                        {
                            Console.WriteLine("Form data uploaded successfully.");
                        }
                        else
                        {
                            Console.WriteLine("Form data upload failed. Error: " + response.ReasonPhrase);
                        }
                    }
                }
            }
        }
    }
    

    在上述代码中,我们使用HttpClient进行POST请求,并构建了一个MultipartFormDataContent对象,向其中添加了包含PDF附件、照片附件和文本数据的表单内容。在真实使用时,您需要替换"YourOrgCode"、"path/to/pdf/file.pdf"、"path/to/picture/file.jpg"和"Your text data"为实陋的值。

    请注意,此示例仅供参考。确保您有权限将文件上传到指定的URL,并且根据实际需求填充正确的文件路径和文本数据。如果您遇到任何问题或需要进一步协助,请随时告诉我。

    展开全部

    评论
  • Minuw 2024-03-13 13:38
    关注
    获得0.30元问题酬金

    参考gpt、
    以下是一个简单的 C# WinForm POST 上传 form 表单的示例代码:

    using System;
    using System.Net;
    using System.IO;
    
    namespace FormUploadDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                string url = "http://117.72.17.59:39020/cyry/healthcheck/hisUploadTest";
                string orgCode = "your_org_code_here"; // 替换为实际的 OrgCode
    
                string pdfFilePath = "path_to_pdf_file.pdf"; // 替换为要上传的 PDF 文件路径
                string pictureFilePath = "path_to_picture_file.jpg"; // 替换为要上传的照片文件路径
                string data = "your_text_data_here"; // 替换为要上传的文本数据
    
                using (WebClient client = new WebClient())
                {
                    client.Headers.Add("OrgCode", orgCode);
    
                    client.UploadFile(url, pdfFilePath);
                    client.UploadFile(url, pictureFilePath);
    
                    client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
                    string response = client.UploadString(url, "POST", $"data={data}");
    
                    Console.WriteLine(response);
                }
            }
        }
    }
    

    请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体情况进行更多的错误处理和参数验证。另外,请替换示例代码中的占位符为实际的数值和文件路径。希望这能帮助您开始编写上传 form 表单的 C# WinForm 程序。如果您有任何疑问或需要进一步的帮助,请随时告诉我。

    展开全部

    评论
  • 会跑的小鹿 2024-03-13 14:35
    关注
    获得0.15元问题酬金

    需要编写一个 C# WinForm 应用程序来实现对指定 URL 的 POST
    请求,上传包含表单数据的请求体,并且表单数据包括三个部分:PDF 附件、照片附件和文本字符串。

    评论
  • GIS工具开发 2024-03-13 14:46
    关注
    获得0.15元问题酬金

    在C# WinForm中,你可以使用HttpClient类来实现POST请求并上传form表单数据

    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 创建了问题 3月6日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部