gpt4 book ai didi

c# - 如何使用 webRequest 从 C# Windows 表单将文件上传到 Node.js 服务器(使用强大)?

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:32 26 4
gpt4 key购买 nike

Node 服务器如下所示:

app.post('/api/upload', function(req, res){
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
var oldpath = files.filetoupload.path;
var newpath = 'C:/Users/Phili/Desktop/' + files.filetoupload.name;
fs.rename(oldpath, newpath, function (err) {
if (err) throw err;
res.write('File uploaded and moved!');
res.end();
});
});
});

我使用express来进行post get等,并且能够强大地处理传入的文件请求和文件系统fs。我正在开发一个 C# 桌面应用程序,该应用程序使用托管在 aws EC2 实例上的 node.js 服务器,我的程序的其余部分可以工作,但我似乎无法让上传文件工作。

有人可以帮助我,给我链接教程或告诉我如何做吗?我已经使用 C# 和 Webrequests 处理了程序的其余部分,如下所示,但我似乎无法获得上传文件的正确方法

public string sendToServer(string method, string urlEx, string[] headerKey, string[] headerVal)
{
string URL = "http://34.253.45.82:8080" + urlEx;
var request = WebRequest.Create(URL);
request.ContentType = "application/json; charset=utf-8";
string text;
request.Method = method;

for (int i = 0; i < headerKey.Length; i++)
{
request.Headers.Add(headerKey[i], headerVal[i]);
}

var response = (HttpWebResponse)request.GetResponse();

using (var sr = new StreamReader(response.GetResponseStream()))
{
text = sr.ReadToEnd();
}

return text;
}

最佳答案

这对我有用

using (HttpClient httpClient = new HttpClient())
using (var multiPartContent = new MultipartFormDataContent())
{
var fileContent = new ByteArrayContent(image);
fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = attachementname
};
multiPartContent.Add(fileContent);
HttpResponseMessage response = await httpClient.PostAsync(url, multiPartContent);

Stream body = await response.Content.ReadAsStreamAsync();
.....

}

关于c# - 如何使用 webRequest 从 C# Windows 表单将文件上传到 Node.js 服务器(使用强大)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46159755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com