C# 如何解析http头多部分/表单数据
我创建了一个WCF Rest服务,正在读取由多部分/表单数据发送的内容。然而,我从流中获得了contentdisposition和额外的信息。 导致文件损坏,尤其是图像损坏。我的服务托管在IIS上。下面是用于实现的代码。当我上传文件时,这些文件会添加额外的内容。如何删除额外的内容C# 如何解析http头多部分/表单数据,c#,wcf,http-headers,filestream,wcf-rest,C#,Wcf,Http Headers,Filestream,Wcf Rest,我创建了一个WCF Rest服务,正在读取由多部分/表单数据发送的内容。然而,我从流中获得了contentdisposition和额外的信息。 导致文件损坏,尤其是图像损坏。我的服务托管在IIS上。下面是用于实现的代码。当我上传文件时,这些文件会添加额外的内容。如何删除额外的内容 public string UploadFile(Stream fileContent) { try { FileStream ta
public string UploadFile(Stream fileContent)
{
try
{
FileStream targetStream = null;
string uploadFolder = @"C:\Upload";
string filePath = Path.Combine(uploadFolder, "123");
using (targetStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None))
{
const int bufferLen = 45000;
byte[] buffer = new byte[bufferLen];
int count = 0;
while ((count = fileContent.Read(buffer, 0, bufferLen)) > 0)
{
// save to output stream
targetStream.Write(buffer, 0, count);
}
targetStream.Close();
targetStream.Dispose();
}
}
catch (Exception ex)
{
return ex.Message;
}
return "Image Uploaded";
}
为什么不做
fileContent.CopyTo(targetStream)代码>而不是用缓冲区之类的循环?我不想将流从一个复制到另一个。我可以使用该服务上传文件,但我在服务器上上传的文件中得到了额外的内容作为内容处置。我如何删除额外的内容?您能否分享此方法的调用方式?例如,如何获取流?var ft=new FileTransfer();ft.upload(fileURI,encodeURI(“),win,fail,options);ft.abort();它使用的是Cordove文件上传插件。我认为这将对您有所帮助。