ファイルをapiにアップロードしています。ファイルをAPIに送信するためにrequestStreamをFileStreamにコピーする必要があります。私のコードは動作しますが、FileStreamを作成するために一時フォルダにファイルを保存しなければなりません。その後、操作の後でtempフォルダをもう一度クリーンアップする必要があります。それを行うためのクリーンな方法がありますか?それをディスクに保存するのではなく、メモリに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)を探しています。 –
フレデリコ、私はMemoryStreamのアプローチに困惑していました。私はそれを動作させることができませんでしたので、これをやりました。 – micknt