gpt4 book ai didi

c# - 将文件分块发送到 HttpHandler

转载 作者:太空狗 更新时间:2023-10-29 23:42:36 25 4
gpt4 key购买 nike

我正在尝试将文件分块发送到 HttpHandler,但是当我在 HttpContext 中收到请求时,inputStream 为空。

所以 a:发送时我不确定我的 HttpWebRequest 是否有效和 b:在接收时我不确定如何在 HttpContext 中检索流

非常感谢任何帮助!

这是我从客户端代码发出请求的方式:

private void Post(byte[] bytes)
{
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://localhost:2977/Upload");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.SendChunked = true;
req.Timeout = 400000;
req.ContentLength = bytes.Length;
req.KeepAlive = true;

using (Stream s = req.GetRequestStream())
{
s.Write(bytes, 0, bytes.Length);
s.Close();
}

HttpWebResponse res = (HttpWebResponse)req.GetResponse();
}

这是我在 HttpHandler 中处理请求的方式:

public void ProcessRequest(HttpContext context)
{
Stream chunk = context.Request.InputStream; //it's empty!
FileStream output = new FileStream("C:\\Temp\\myTempFile.tmp", FileMode.Append);

//simple method to append each chunk to the temp file
CopyStream(chunk, output);
}

最佳答案

我怀疑您将其作为表单编码上传可能会造成混淆。但这不是您要发送的内容(除非您在掩饰某些内容)。该 MIME 类型真的正确吗?

数据有多大?你需要分块上传吗?有些服务器可能不喜欢在单个请求中这样做;我很想通过 WebClient.UploadData 使用多个简单请求。

关于c# - 将文件分块发送到 HttpHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686540/

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