jjzjj

MemoryStream

全部标签

c# - 如何用最小的 C# 代码将一个 Stream 复制到一个字节数组?

到目前为止,我数了12个LoC。你能把它变小吗?using(StreamfileStream=File.OpenRead(fileName)){using(BinaryReaderbinaryReader=newBinaryReader(fileStream)){using(MemoryStreammemoryStream=newMemoryStream()){byte[]buffer=newbyte[256];intcount;inttotalBytes=0;while((count=binaryReader.Read(buffer,0,256))>0){memoryStream.W

c# - 将位图保存到 MemoryStream 时 GDI+ 中发生一般错误

我有一些代码可以在多台机器(开发、QA、UAT)上完美运行。不幸的是,在生产过程中,我在bmp.Save(ms,ImageFormat.Png);上收到“GDI+中发生一般错误”,因此,我假设您无法重现问题,但也许有人可以发现我的错误。一些注意事项,我已经搜索了很多常见的解决方案,请注意这是保存到MemoryStream因此大多数人建议的文件权限问题不适用,“bmp”也不适用打开时被锁定”解决方案,因为我又在其他地方写了。最后,这不是因为png需要可搜索的流,因为MemoryStream是可搜索的。请注意,如果我将其更改为ImageFormat.Jpeg,它就可以正常工作。我只有PNG

c# - 如何处理C#流中的位置

流上position属性的(整个)文档说:Whenoverriddeninaderivedclass,getsorsetsthepositionwithinthecurrentstream.ThePositionpropertydoesnotkeeptrackofthenumberofbytesfromthestreamthathavebeenconsumed,skipped,orboth.就是这样。好的,因此我们很清楚它没有告诉我们什么,但是我真的很想知道它实际上代表什么。“职位”是做什么用的?我们为什么要更改或阅读它?如果我们更改它-会发生什么?在一个实际的示例中,我有一个定期被写

c# - 将 ionic Zip 读取为内存流 C#

我正在使用Ionic.Zip通过这种方法将ZipFile提取到内存流:privateMemoryStreamGetReplayZipMemoryStream(){MemoryStreamzipMs=newMemoryStream();using(ZipFilezip=ZipFile.Read(myFile.zip)){foreach(ZipEntryzipEntryinzip){if(zipEntry.FileName.StartsWith("Aligning")||zipEntry.FileName.StartsWith("Sensing")){zipEntry.Extract(zi

c# - 反序列化不适用于 MemoryStream

//SerializetheObjectMemoryStreamms=newMemoryStream();IFormatterformatter=newBinaryFormatter();formatter.Serialize(ms,ObjectToSerialize);byte[]arrbyte=newbyte[ms.Length];ms.Read(arrbyte,0,(int)ms.Length);ms.Close();//DeserializetheObjectStreams=newMemoryStream(arrbyte);s.Position=0;Objectobj=form

c# - 如何在没有第三方库的情况下序列化对象+压缩然后解压+反序列化?

我在内存中有一个大对象,我想将其作为blob保存到数据库中。我想在保存之前压缩它,因为数据库服务器通常不在本地。这是我目前拥有的:using(varmemoryStream=newMemoryStream()){using(vargZipStream=newGZipStream(memoryStream,CompressionMode.Compress)){BinaryFormatterbinaryFormatter=newBinaryFormatter();binaryFormatter.Serialize(gZipStream,obj);returnmemoryStream.ToA

c# - 如何返回 MemoryStream docx 文件 MVC?

我有一个docx文件,我想在编辑后返回该文件。我有以下代码...objectuseFile=Server.MapPath("~/Documents/File.docx");objectsaveFile=Server.MapPath("~/Documents/savedFile.docx");MemoryStreamnewDoc=repo.ChangeFile(useFile,saveFile);returnFile(newDoc.GetBuffer().ToArray(),"application/docx",Server.UrlEncode("NewFile.docx"));文件看起

c# - 如何从 Visual Studio 2003 中的调试器检查 XML 流

我必须编辑一个XSLT样式表,但我正在盲目飞行,因为XML输入仅在一堆流中短暂存在。我可以调试代码,但无法弄清楚如何将流的内容输出到我可以查看的文本中(并在我编辑它们时手动运行XSLT)。该代码是一个大型旧遗留系统的一部分,如果绝对必要,我可以在调试环境中修改它,但它在连接到一堆MSMQ的Windows服务中运行。因此出于各种原因,我宁愿能够使用调试器来查看XML,而不必先更改代码。代码大大简化,是这样的:(C#-但请记住它是VS2003中的.net1.1。)该函数将XML作为流获取,然后将其馈送到某种XSLT转换对象中。我尝试在监window口和即时窗口中查看writer和xmlSt

c# - 绘制图像时 : System. Runtime.InteropServices.ExternalException: GDI 中发生一般性错误

我有一个从Panel创建的全局图形对象。每隔一定时间从磁盘中拾取图像并使用Graphics.DrawImage()绘制到面板中。它在几次迭代中工作正常,然后我得到以下有用的异常:System.Runtime.InteropServices.ExternalException:AgenericerroroccurredinGDI+.atSystem.Drawing.Graphics.CheckErrorStatus(Int32status)atSystem.Drawing.Graphics.DrawImage(Imageimage,Int32x,Int32y)atSystem.Drawi

c# - Image.FromStream() 方法返回 Invalid Argument 异常

我正在从智能相机成像器捕获图像,并通过套接字编程从相机接收字节数组(.NET应用程序是客户端,相机是服务器)。问题是我在运行时遇到System.InvalidArgument异常。privateImagebyteArrayToImage(byte[]byteArray){if(byteArray!=null){MemoryStreamms=newMemoryStream(byteArray);returnImage.FromStream(ms,false,false);/*lastargumentissupposedtoturnImagedatavalidationoff*/}retu