到目前为止,我数了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
我有一些代码可以在多台机器(开发、QA、UAT)上完美运行。不幸的是,在生产过程中,我在bmp.Save(ms,ImageFormat.Png);上收到“GDI+中发生一般错误”,因此,我假设您无法重现问题,但也许有人可以发现我的错误。一些注意事项,我已经搜索了很多常见的解决方案,请注意这是保存到MemoryStream因此大多数人建议的文件权限问题不适用,“bmp”也不适用打开时被锁定”解决方案,因为我又在其他地方写了。最后,这不是因为png需要可搜索的流,因为MemoryStream是可搜索的。请注意,如果我将其更改为ImageFormat.Jpeg,它就可以正常工作。我只有PNG
流上position属性的(整个)文档说:Whenoverriddeninaderivedclass,getsorsetsthepositionwithinthecurrentstream.ThePositionpropertydoesnotkeeptrackofthenumberofbytesfromthestreamthathavebeenconsumed,skipped,orboth.就是这样。好的,因此我们很清楚它没有告诉我们什么,但是我真的很想知道它实际上代表什么。“职位”是做什么用的?我们为什么要更改或阅读它?如果我们更改它-会发生什么?在一个实际的示例中,我有一个定期被写
我正在使用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
//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
我在内存中有一个大对象,我想将其作为blob保存到数据库中。我想在保存之前压缩它,因为数据库服务器通常不在本地。这是我目前拥有的:using(varmemoryStream=newMemoryStream()){using(vargZipStream=newGZipStream(memoryStream,CompressionMode.Compress)){BinaryFormatterbinaryFormatter=newBinaryFormatter();binaryFormatter.Serialize(gZipStream,obj);returnmemoryStream.ToA
我有一个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"));文件看起
我必须编辑一个XSLT样式表,但我正在盲目飞行,因为XML输入仅在一堆流中短暂存在。我可以调试代码,但无法弄清楚如何将流的内容输出到我可以查看的文本中(并在我编辑它们时手动运行XSLT)。该代码是一个大型旧遗留系统的一部分,如果绝对必要,我可以在调试环境中修改它,但它在连接到一堆MSMQ的Windows服务中运行。因此出于各种原因,我宁愿能够使用调试器来查看XML,而不必先更改代码。代码大大简化,是这样的:(C#-但请记住它是VS2003中的.net1.1。)该函数将XML作为流获取,然后将其馈送到某种XSLT转换对象中。我尝试在监window口和即时窗口中查看writer和xmlSt
我有一个从Panel创建的全局图形对象。每隔一定时间从磁盘中拾取图像并使用Graphics.DrawImage()绘制到面板中。它在几次迭代中工作正常,然后我得到以下有用的异常:System.Runtime.InteropServices.ExternalException:AgenericerroroccurredinGDI+.atSystem.Drawing.Graphics.CheckErrorStatus(Int32status)atSystem.Drawing.Graphics.DrawImage(Imageimage,Int32x,Int32y)atSystem.Drawi
我正在从智能相机成像器捕获图像,并通过套接字编程从相机接收字节数组(.NET应用程序是客户端,相机是服务器)。问题是我在运行时遇到System.InvalidArgument异常。privateImagebyteArrayToImage(byte[]byteArray){if(byteArray!=null){MemoryStreamms=newMemoryStream(byteArray);returnImage.FromStream(ms,false,false);/*lastargumentissupposedtoturnImagedatavalidationoff*/}retu