标签: zipfile

包含带有多个 csv 文件的 zip 文件的 Django 响应

我有一个算法可以输出一个元组列表,该列表已准备好写入 csv 文件。

我正在尝试写入 3 个 csv 文件(通过 StringIO,因此不写入磁盘),然后将它们完全压缩。之后,我想将其附加到 django 请求的响应中。

我不确定这样做的最有效方法是什么。我应该StringIO用来通过我的算法存储 3 个调用吗?在压缩它们之前,我应该先创建 csv 文件吗?我可以直接使用 1 zipfilecall 而不需要调用 3 StringIOs的中间步骤吗?

谢谢

python django zipfile stringio

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

Flask:发送一个 zip 文件然后删除它

我正在使用一个 Flask 应用程序,该应用程序从 Web 服务器的文件夹中获取多个文件,并创建一个包含这些文件的 zip 文件,最终将该 zip 文件发送给用户。我的问题是我无法在发送后从 Web 服务器中删除 zip 文件。

我尝试使用@after_this_request命令解决问题。

在这里,我展示了我编写的代码的简化版本。我发送了之前创建的 zip 文件,然后尝试删除它。

@app.route('/sendFile')
def sendFile():
    @after_this_request
    def removeFile(response):
        os.remove(zip_path)
        return response

    return send_from_directory(path, filename=zipname, as_attachment=True)
Run Code Online (Sandbox Code Playgroud)

问题是引发了一个错误,指出无法删除 zip 文件,因为它仍在被其他进程使用。我在其他类型的文件中看到过类似的问题:

Flask - 下载后删除文件

在 Flask 提供文件后删除文件

但是,在我使用 zip 文件的情况下,它们不起作用。

python zip zipfile flask

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

Web2Py - 上传文件并将内容读取为Zip文件

我正在尝试从Web2Py表单上传一个zip文件,然后阅读内容:

form = FORM(TABLE(
           TR(TD('Upload File:', INPUT(_type='file', 
                                       _name='myfile', 
                                       id='myfile', 
                                       requires=IS_NOT_EMPTY()))), 
           TR(TD(INPUT(_type='submit',_value='Submit')))
       ))

if form.accepts(request.vars):  
    data=StringIO.StringIO(request.vars.myfile)  
    import zipfile  
    zfile=zipfile.Zipfile(data)
Run Code Online (Sandbox Code Playgroud)

由于某些原因,虽然上传的文件是zip文件,但此代码确实有效并且抱怨文件不是zip文件.

我是新来的Web2Py.如何data表示为zip文件?

python web2py zipfile

0
推荐指数
1
解决办法
4694
查看次数

无法在Java/Groovy中创建zip文件

我已尝试过多种方法在Java/Groovy中创建此zip文件.我尝试的前几种方法,来自各种博客/帖子,导致无法打开的损坏的zip文件.所以,我试过这个(下面)看起来相当有前途.sysouts报告传递给FileInputStream的有效文件路径.我不确定是否是传递给ZipOutputStream的FQ路径导致了问题.无论哪种方式,下面是代码,这导致创建小(188kb)zip文件(没有条目).有什么建议?

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Set;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

class FileZipper {

    public static void makeZip(Set fullyQualifiedFileNames, String zipFileName, String outDir) throws IOException, FileNotFoundException
    {
        // These are the files to include in the ZIP file
        Object[] filenames = fullyQualifiedFileNames.toArray();
        String fileSeparator =  (String) System.getProperties().get("file.separator");

        // Create a buffer for reading the files
        byte[] buf = new byte[1024];

        // Create the ZIP file
        String outFilename = outDir + fileSeparator +zipFileName;
        FileOutputStream fos = new …
Run Code Online (Sandbox Code Playgroud)

java io groovy zip zipfile

0
推荐指数
1
解决办法
2408
查看次数

如何检查PHP中的加密Zip存档?

据我了解,状态是归档加密包含通用位标志.我尝试用ZipArchive :: statname()来检查这个,但似乎无法通过此方法获取信息.

我还能做什么?阅读存档并解析标题?我知道我可以调用system(),但我不想使用这种方法,因为它的特殊性(某些托管此函数被禁用).

php encryption zip zipfile ziparchive

0
推荐指数
1
解决办法
1313
查看次数

Eclipse、Java:如何以 zip 格式导入库?

好的,这是基本的,但似乎正常的方法对我不起作用。

我正在尝试导入 jSSC 库,用于与串行端口等通信。最新的库是 jSSC-0.9.0-Release

所以,我尝试了以下方法:

  • 将 zip 文件放在工作区中,并在项目属性 -> java 构建路径 -> 库中将其添加为“外部 jar”。

然后我尝试包含库中的内容:

import jssc.SerialPortList;
Run Code Online (Sandbox Code Playgroud)

错误:无法解析导入jssc

  • 然后我将 zip 文件放在项目根目录中名为 /libs 的文件夹中,并将其添加为“jar”(不是外部的)。

结果:同样的错误。

对于导入库的简单操作,我在这里缺少什么基本信息/操作?

java eclipse zipfile buildpath

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

将zip文件返回到angularjs以供下载

我有以下angularjs代码:

$scope.search = function() {
    creatorService.search($scope.model).then(function(data) {
        saveAs(new Blob([data], { type: "application/octet-stream'" }), 'testfile.zip');
    });
};
Run Code Online (Sandbox Code Playgroud)

(也使用fileSaver.js)

然后在我的webapi2方面采用以下方法:

public HttpResponseMessage Post(Object parameters)
    {
        var streamContent = new PushStreamContent((outputStream, httpContext, transportContent) =>
           {
               try
               {
                   using (var zip = new ZipFile())
                   {
                       zip.AddEntry("test.txt", "test data");
                       zip.Save(outputStream);
                   }
               }
               finally
               {
                   outputStream.Close();
               }
           });
        streamContent.Headers.ContentType = new MediaTypeHeaderValue("application/zip");
        streamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
        {
            FileName = "test.zip"
        };

        var response = new HttpResponseMessage(HttpStatusCode.OK)
        {
            Content = streamContent
        };

        return response;
    } …
Run Code Online (Sandbox Code Playgroud)

javascript zip zipfile angularjs asp.net-web-api2

0
推荐指数
1
解决办法
5171
查看次数

Python - 如何将unicode文件名转换为CP437?

我有一个具有Unicode名称的文件,比方说'????.txt'.我想打包他,我正在使用python的zipfile.

我可以压缩文件并稍后打开它们,但是当使用Windows 7文件浏览器查看文件时,文件名会搞乱(7zip工作得很好).

根据文档,这是一个常见的问题,并且有如何处理的说明:

来自ZipFile.write

注意

ZIP文件没有正式的文件名编码.如果您有unicode文件名,则必须将它们转换为所需编码的字节字符串,然后再将它们传递给write().WinZip将所有文件名解释为CP437中编码的文件名,也称为DOS Latin.

对不起,但我似乎无法得到我应该用文件名做什么.我试过.encode('CP437'),.decode('CP437')..

python unicode zipfile

0
推荐指数
1
解决办法
2146
查看次数

C#ZipFile:仅压缩文件夹的内容

我正在使用ZipFile.CreateFromDirectory方法在C#中压缩目录:

private void createZIP()
{
    string startPath = @"c:\example\start";
    string zipPath = @"c:\example\result.zip";
    ZipFile.CreateFromDirectory(startPath, zipPath,  CompressionLevel.Fastest, true); 
}
Run Code Online (Sandbox Code Playgroud)

它一般都在工作,但我只想要zip文件中/ start /文件夹的内容,而不是目录本身.

现在:

result.zip
--start
---- file1.txt
---- file2.txt
Run Code Online (Sandbox Code Playgroud)

我多么想要:

result.zip
-- file1.txt
-- file2.txt
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

.net c# zipfile

0
推荐指数
1
解决办法
1059
查看次数

C# IFormFile 作为 ZipFile

我有一个 REST API 端点,它在 .Net Core 1.1 上接收 zip 文件。我从这样的请求中获取 IFormFile

var zipFile = HttpContext.Request.Form.Files.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

然后我需要将它传递给不支持 IFormFile 的 .Net Standard 1.5 中的 service 方法。

所以问题是:如何将 IFormFile 转换为 ZipFile 或标准 1.5 支持的其他类型,或者可能有一些更合适的方法来操作 zip 文件?谢谢!

c# zipfile iformfile asp.net-core-1.1 .net-standard

0
推荐指数
1
解决办法
3588
查看次数

.zip文件中的文件是否总是被压缩?

在工作中,我正在实现一个可处理文件的新Web服务。规范说,如果压缩了.zip文件,我们将不接受。

是否存在未压缩的.zip文件?如果是的话,您认为使用Java(1.8)检测一个的最佳方法是什么?

java compression zip zipfile compressed-files

-1
推荐指数
1
解决办法
45
查看次数