c#程序获取formdata中的图片数据
要获取formdata中的图片数据,可以使用以下代码:
using System.IO;
using System.Net;
using System.Web;
string url = "http://example.com/upload";
string filePath = "path/to/image.jpg";
string boundary = "------------------------" + DateTime.Now.Ticks.ToString("x");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "multipart/form-data; boundary=" + boundary;
using (Stream requestStream = request.GetRequestStream())
{
    // write file data to request stream
    using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
    {
        byte[] buffer = new byte[4096];
        int bytesRead = 0;
        while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
        {
            requestStream.Write(buffer, 0, bytesRead);
        }
    }
    // write boundary to request stream
    byte[] boundaryBytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
    requestStream.Write(boundaryBytes, 0, boundaryBytes.Length);
    // write form data to request stream
    string formData = "field1=value1&field2=value2";
    byte[] formDataBytes = System.Text.Encoding.UTF8.GetBytes(formData);
    requestStream.Write(formDataBytes, 0, formDataBytes.Length);
    // write end boundary to request stream
    byte[] endBoundaryBytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
    requestStream.Write(endBoundaryBytes, 0, endBoundaryBytes.Length);
}
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
    // read response
}
在这个示例中,我们使用HttpWebRequest对象发送POST请求,其中包含文件数据和表单数据。要添加文件数据,我们打开文件流并将其写入请求流中。然后,我们将分隔符写入请求流中,后跟表单数据。最后,我们写入结束分隔符。
请注意,此示例仅适用于单个文件。如果您需要上传多个文件,请在请求流中为每个文件重复这些步骤,并使用不同的名称。
原文地址: https://www.cveoy.top/t/topic/rUD 著作权归作者所有。请勿转载和采集!