c# - C# LibCurlNet 图像上传
问题描述
嗨,我有以下代码,它实际上创建了CurlFile Object
一个图像并将图像发布到服务器。它在 php 上完美运行
$post_data = array('device_timestamp' => time());
$post_data['photo'] = "@".realpath('imagePath');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
但是我想用 c# LibCurNet 实现同样的效果。到目前为止我尝试过的内容如下
var content = new MultipartFormDataContent();
content.Add(new StreamContent(File.Open(@"D:\mypictres\p.JPG", FileMode.Open)), "photo", "Image.JPG");
content.Add(new StringContent("mobiletime"), "1526137643");
easy.SetOpt(CURLoption.CURLOPT_POST,
easy.SetOpt(CURLoption.CURLOPT_POSTFIELDS, content );
和
public class postData
{
public string device_timestamp { get; set; }
public string photo { get; set; }
}
用作
postData p = new postData();
p.device_timestamp = "1526137643";
p.photo = @"D:\mypictures\p.JPG";
easy.SetOpt(CURLoption.CURLOPT_POST,
easy.SetOpt(CURLoption.CURLOPT_POSTFIELDS, p);
我真的很想CurlFileObject
在 c# 中替换什么。我不想使用HttpWebRequest
或HttpClient
出于某些原因。
解决方案
在我看来,我们在同一条路上哈哈。试试下面的代码。
MultiPartForm mf = new MultiPartForm();
mf.AddSection(CURLformoption.CURLFORM_COPYNAME, "name",
CURLformoption.CURLFORM_COPYCONTENTS, "value",
CURLformoption.CURLFORM_END);
mf.AddSection(CURLformoption.CURLFORM_COPYNAME, "photo",
CURLformoption.CURLFORM_FILE, @"yourpicturepath",
CURLformoption.CURLFORM_CONTENTTYPE, "multipart/form-data",
CURLformoption.CURLFORM_END);
easy.SetOpt(CURLoption.CURLOPT_HTTPPOST, mf);
推荐阅读
- reactjs - React.js 的 MaterialTable 重叠搜索栏和 pageSizeOptions
- powershell - 基本问题:将两列文本文件解析为用于 for 循环的变量
- vagrant - Vagrant up 问题“`split': bad URI(is not URI?):”
- xml - XSLT Value-Of 中未处理换行符和回车符
- scala - 如何将列表中的多个字符串转换为地图中的键
- django - 模板继承不起作用,即在 django html 模板中扩展不起作用
- r - rnaturalearth 中的河流数据
- python - 您如何在 Streamlit 剪切中录制用户的音频?
- javascript - Shopify Lazysizes 抛出 typeerror 控制台错误
- python - 对于处理来自物联网设备和传感器设备的数据的网络仪表板,Django 是一个不错的选择吗?