我正在将文件上传到api,并且我必须将我的requestStream复制到FileStream以便将文件发布到API。我的代码如下所示,但我必须将文件保存到临时文件夹以创建FileStream,然后我必须在操作后再次清理临时文件夹。有没有一个更清洁的方式 - 例如在内存中创建FileStream(如果可能的话)而不是将其保存到磁盘?在内存中创建FileStream而不是在磁盘上保存物理文件
Stream requestStream = await Request.Content.ReadAsStreamAsync();
//Create filestream by making a temporary physical file
using (FileStream fileStream = System.IO.File.Create(@"C:\tempFolder\" fileName))
{
await requestStream.CopyToAsync(fileStream);
var postedFile = ms.CreateMedia(fileName, folder.Id, "file");
postedFile.SetValue("umbracoFile", fileName, fileStream);
ms.Save(postedFile);
}
// Clean up
if ((System.IO.File.Exists(@"C:\tempFolder\" + fileName)))
{
System.IO.File.Delete(@"C:\tempFolder\" + fileName);
}
您正在寻找['MemoryStream'(https://msdn.microsoft.com/en-us/library/system.io.memorystream)。 –
Frederico,我一直用MemoryStream的方法困惑,我无法使它工作,所以我最终做了这个 – micknt