- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
TL;DR:是否可以在压缩时将大型 MemoryStream 作为 block 动态上传到 Azure?
我有一些文件保存到 MemoryStream
中,我将这些文件添加到另一个 MemoryStream 中的 ZipArchive
中。
我想使用此 MemoryStream 上传到 Azure-BlockBlob-Storage
blockBlob.UploadFromStream(zipMemoryStream);
到目前为止一切顺利。
现在的问题是,Zip-Archive 可能会变得大于 8GB,这是 MemoryStream 的问题。
是否可以将内存流中的部分作为 block 上传到 azure,并从流中删除这些字节?
或者是否有更好的方法来处理 zipArchive 和 azure?
对于压缩,我使用包 System.IO.Compression
中的类 ZipArchive
最诚挚的问候,
弗洛
最佳答案
这可能不完全是您正在寻找的内容,但您是否尝试过这样做:
var blob = container.GetBlockBlobReference("zipped.zip");
using (var stream = new ZipArchive(blob.OpenWrite(), ZipArchiveMode.Create))
{
var entry = stream.CreateEntry("entry1");
using (var es = entry.Open())
{
// Fill entry with data
}
// Other code
}
当您调用 CloudBlockBlob
的 OpenWrite
时,它会创建一个 CloudBlobStream
实例,其工作方式与 MemoryStream
不同>。 CloudBlobStream 以 4MB block 的形式将数据发送到 Azure 存储服务,据我所知,它不会将旧 block 保存到内存中。
关于c# - 将 Big ZipArchive-MemoryStream 上传到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40302243/
我已经编写了如下方法将多个 Memorystream 绑定(bind)到 ziparchive。该代码适用于一个流,但如果我通过迭代添加多个流,则它会在 for 循环的第二行显示以下错误。 Syst
我刚刚通过 composer 下载了 PhpSpreadsheet 包,我试图生成一个 Excel 电子表格。但我得到的只是一个错误“ Class ZipArchive not found ”。我在
我目前将大量照片存储在 LAMP 服务器上的 zip 存档中。当新用户添加到我的程序时,我打开 zip 存档并添加他们的照片。 问题是当 zip 存档接近 50MB 时,函数 ZipArchive::
我需要解压缩上传的内容。但是为了安全起见,必须验证这些文件只是图像文件,这样就无法将 php 添加到 zip 中,然后再运行它。 在进行解压缩时,我还需要保留文件结构。 $zip->extractTo
我正在使用 php ZipArchive,但遇到了一个简单的问题。 我需要创建新文件,如果存在同名的文件,我需要覆盖它。 我的问题是,如果我使用此代码 if ($zip->open($packageF
我已经包括了libz.1.2.3.dylib 插入代码后 ZipArchive* za = [[ZipArchive alloc] init]; 编译时出错 "_OBJC_CLASS_$_ZipAr
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我的方法接受一个列表并创建一个 ZIP 文件和一个日志文件。它适用于较小数量的文件。但是当我获取大量文件(测试了 11,000 个)时,它会引发 SystemOutOfMemory 异常。 通过研究,
我在处理程序中使用 ZipArchive 来为使用内存流和 Web 处理程序的用户提供服务。在我将应用程序上传到实时站点之前,这在本地一直有效。 这是我的代码。 using (ZipArchive n
我正在编写桌面 WPF 应用程序 (.Net Framework 4.5),其中一项任务是将多个文件保存到 zip 存档。我做了2种方法。首先创建 zip,其次从中读取。 public sta
当使用 ZipArchive 解压缩包时,它似乎阻塞了主线程。 zip 文件中大约有 283 个文件。我把它放在后台线程上,但它似乎没有帮助。 dispatch_async(dispatch_get_
我将使用 PHP 类创建一个 Zip 存档。但它仍然无法正常工作。它不会失败,响应是 1。他没有创建 Zip 文件。 $zip = new ZipArchive; $res = $zip->open(
所以我有一些代码可以捕获屏幕并将其保存到 jpeg 文件中。这工作正常,但是我想将 jpeg 编码的捕获保存到新的 ZipArchive,而不是先将位图写入文件系统。 这是我目前所拥有的: FileI
我可以使用相对路径压缩文件吗? 例如: $zip->addFile('c:/wamp/www/foo/file.txt'); ZIP 应具有如下目录结构: foo -> file.txt 而不是:
我正在使用 php ZipArchive 类来生成 zip 存档。我使用 addFile 方法的第二个参数来设置存档中文件的名称(因为磁盘上的真实文件具有不同的名称)。某些名称必须包含法国口音(例如
我有一个简单的 Zip 创建脚本,可将加载的文件复制到单个目录中,然后从该目录创建一个 .zip 文件。这种方法听起来很简单,但是它产生的文件在打开时有问题。 起初我很困惑,因为文件可以在 7Zip、
我刚开始尝试编写一些 PHP 代码以在 EC2 服务器上的 Linux 机器上运行,它将从我的 S3 存储桶中读取文件,压缩它们,然后将 zip 文件写回存储桶。 即使从 EC2 实例的本地磁盘上的一
我正在尝试修复一些图像的自动压缩脚本中的问题,这是我不久前编写的,并且一直有效到现在。一切似乎都很好,直到 $zip->close(); 给出以下内容: Warning: ZipArchive::
我正在尝试使用一些字节数组数据动态创建一个 zip 流,并通过我的 MVC 操作下载它。 但是下载的文件在windows中打开时总是出现以下损坏的错误。 当我尝试从 7z xtract 时出现此错误
我一直有 - 我认为权限问题 - 解压缩文件(这部分没问题)并将内容移动到写入文件夹。 我正在运行简单的代码: $zip = new ZipArchive( ); $x = $zip->ope
我是一名优秀的程序员,十分优秀!