我有一个string
数据,我希望它有一个stream
而不将其作为文件保存到存储中,然后获取它的流。然后我将这个流发送到SkyDrive。反正。
await client.UploadAsync(folderId, filename, stream, OverwriteOption.Overwrite);
有没有获得stream
内存中的字符串值,而不先将其保存到存储中?
答案 0 :(得分:6)
您可以将其写入MemoryStream
:
using(var stream = new MemoryStream())
{
var writer = new StreamWriter(stream);
writer.Write(yourString);
writer.Flush();
stream.Position = 0;
await client.UploadAsync(folderId, filename, stream, OverwriteOption.Overwrite);
}
答案 1 :(得分:2)
当然,请使用MemoryStream
课程。您可以像这样加载它,例如:
var stream = new MemoryStream(Encoding.ASCII.GetBytes("Here is my string."));
或者,你可以像这样Write
新数据:
var myString = "Hello, World!";
stream.Write(Encoding.ASCII.GetBytes(myString), 0, myString.Length);
如果需要,您当然可以使用不同的编码,例如UTF8
。