标签: memorystream

Ionic.Zip(DotNetZip)在使用IO.MemoryStream的save方法中挂起

我将尝试使用带有106个图像(675MB)的DotNetZip-Libary创建一个zip文件,其代码如下:

Public Function GetZip() As Byte()
    Dim zip As New Ionic.Zip.ZipFile(String.Format("{0}.zip", Me.GallerySystemName))
    AddHandler zip.SaveProgress, AddressOf SaveProgress

    For Each img In Me.Images
        zip.AddFile(img.OriginalFile.FullName, "")
    Next

    Dim bytZip As Byte()

    Using ms As New MemoryStream
        zip.Save(ms)
        bytZip = ms.ToArray
    End Using

    Return bytZip
End Function
Run Code Online (Sandbox Code Playgroud)

当我运行这段代码时,执行会停止在图像40(有时更早)没有任何执行.什么都没发生.我试图将zip直接保存到文件中.有用.

有任何想法吗?

一月

vb.net memorystream dotnetzip

5
推荐指数
2
解决办法
6795
查看次数

如何从Memory Stream打开文件

是否可以直接从MemoryStream反对写入磁盘打开文件并进行操作Process.Start()?特别是pdf文件?如果没有,我想我需要写入MemoryStream磁盘(这有点烦人).有人可以指向我有关如何写入MemoryStream磁盘的资源吗?

c# file-io memorystream file

5
推荐指数
1
解决办法
2万
查看次数

写入流就像它是一个文件,但真正写入一个对象

我正在尝试将流写入ram而不是文件.我试过这样做:

Stream stream = new MemoryStream();
BinaryFormatter bFormatter = new BinaryFormatter();
bFormatter.Serialize(stream, objectToSerialize);
stream.Close();
return stream;
Run Code Online (Sandbox Code Playgroud)

但是当我在写完它之后查看流时,它会说"Length ='stream.Length'抛出了'System.ObjectDisposedException'类型的异常"

c# memorystream stream

5
推荐指数
2
解决办法
2801
查看次数

一个MemoryStream中的多个文件可能吗?

是否可以将文件列表保存到一个MemoryStream中,然后将文件保存回光盘?

c# memorystream

5
推荐指数
1
解决办法
4156
查看次数

Delphi 7 - 使用TIdDecoderMIME解码Base64

好吧,这让我疯了,哈哈.

我有一个Base64字符串,我正在尝试使用TIdDecoderMIME将其解码为TMemoryStream.

我目前的代码如下:

Var MStream:TMemoryStream; Decoder:TIdDecoderMIME;
begin
  Decoder := TIdDecoderMIME.Create(nil);
  MStream := TMemoryStream.Create;
  Decoder.DecodeToStream(BSting,MStream);
end;
Run Code Online (Sandbox Code Playgroud)

其中BString = My Base64字符串.

现在,当代码运行时,我收到一条错误消息"DecodeToString中的大小不均匀".

有任何想法吗?

任何帮助是极大的赞赏.谢谢.

delphi base64 memorystream delphi-7

5
推荐指数
1
解决办法
4908
查看次数

从方法返回内存流

想知道以下情况是否会导致任何内存泄漏.

Aspx页面包含以下内容.

private void Generator(input)
{
    using (MemoryStream memoryStream = Helper.Instance.Generate(input))
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

从返回内存流的aspx页面调用下面的方法.

MemoryStream Generate(input)
{
    MemoryStream stream = new MemoryStream();
    //doing some stream manipulation here

    return stream;
}
Run Code Online (Sandbox Code Playgroud)

.net c# dispose memorystream using

5
推荐指数
2
解决办法
7557
查看次数

MemoryStream更换?

几个星期前,我读到了一些关于.Net 4/4.5中一个比MemoryStream更好的新类的内容,但我似乎无法再找到它了.

我查看了IO命名空间,找不到任何东西.有人记得读过那样的东西吗?

谢谢

.net c# memorystream

5
推荐指数
1
解决办法
2433
查看次数

在带有MemoryStream的xml末尾有很多意想不到的"nul"字符

我为用户编写了一个动作,用于下载生成的xml,而不必将其写入服务器磁盘,但将其保存到内存中.

这是我的代码:

public FileContentResult MyAction()
{
  MemoryStream myStream = new MemoryStream();
  XDocument xml = GenerateXml(...);
  xml.Save(myStream );
  myStream .Position = 0;
  return File(myStream.GetBuffer(), "text/xml", "myFile.xml");
}
Run Code Online (Sandbox Code Playgroud)

一切似乎工作正常,XML是正确的,我可以下载文件,但我不明白为什么我的文件末尾有691920"nul"caracters(这些caracters的数量似乎与长度有关)的xml):

在此输入图像描述

它们来自哪里?我怎么能摆脱它们?

[更新]我试过这个:

public FileContentResult MyAction()
{
  XDocument xml = GenerateXml(...);
  byte[] bytes = new byte[xml.ToString().Length * sizeof(char)];
  Buffer.BlockCopy(xml.ToString().ToCharArray(), 0, bytes, 0, bytes.Length);
  return File(bytes, "text/xml", "myFile.xml");
}
Run Code Online (Sandbox Code Playgroud)

我没有得到"nul"角色.所以我想这是MemoryStream在文件末尾添加额外的caracters.所以在我的例子中,第二个代码解决了我的问题.

但我也生成了一个我无法阅读的Word文档(由于内容存在问题,因此无法打开xxx.docx).我想我在这里遇到同样的问题,内存流在文件末尾添加额外的caracters并破坏它.

c# asp.net-mvc memorystream linq-to-xml filecontentresult

5
推荐指数
1
解决办法
1587
查看次数

下载blob存储并返回Json对象

我想下载一个.json,我已经储存在容器中的BLOB Azure StorageNewtonsoft.Json它写的一个对象.

我这样做是通过调用:

(CloudBlockBlob) blob.DownloadToStream(stream);
Run Code Online (Sandbox Code Playgroud)

然而,而不是在本地的应用程序目录中的数据流写入文件,我希望返回JSON objectJson(result)

这是我尝试过的:

using (var stream = new MemoryStream())
{
    blob.DownloadToStream(stream);

    var serializer = new JsonSerializer();

    using (var sr = new StreamReader(stream))
    {
        using (var jsonTextReader = new JsonTextReader(sr))
        {
            result = serializer.Deserialize(jsonTextReader);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

最后我的jsonTextReader变量是空的和对象null

我该怎么做才能做到这一点?

谢谢

c# json memorystream azure azure-storage-blobs

5
推荐指数
2
解决办法
4599
查看次数

Google Protocol Buffers - 序列化为字节数组

我正在按照教程使用Google Protocol Buffers for C#.我没有看到将对象转换为字节数组的示例 - 有谁知道如何做到这一点?我使用protoc编译器自动生成了一个FilePath类,到目前为止:

FilePath fp = new FilePath
{
    Path = "TestPath",
    RealTimeMultiple = 5.0f
};
Run Code Online (Sandbox Code Playgroud)

所以,我需要知道如何在不使用BinaryFormatter的情况下正确序列化fp对象.

c# serialization memorystream protocol-buffers

5
推荐指数
1
解决办法
1万
查看次数