我有一个string
数据,我想拥有一个stream
而不将其作为文件保存到存储中,然后获取它的流。然后我会将此流发送到 SkyDrive。反正。
await client.UploadAsync(folderId, filename, stream, OverwriteOption.Overwrite);
无论如何要获得一个stream
内存中的字符串值,而不先将其保存到存储中?
我有一个string
数据,我想拥有一个stream
而不将其作为文件保存到存储中,然后获取它的流。然后我会将此流发送到 SkyDrive。反正。
await client.UploadAsync(folderId, filename, stream, OverwriteOption.Overwrite);
无论如何要获得一个stream
内存中的字符串值,而不先将其保存到存储中?
你可以把它写成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);
}
当然,使用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
例如。