如何在 Erlang 中解压 unzip multipar/form-data?

How to unzip unzip multipar/form-data in Erlang?

我有一个 Erlang 应用程序,我需要在 POST 请求中读取一个 zip 文件。目前我正在使用这个解决方案但是 return 一个错误。

FileUnziped = zip:unzip(Payload),

我传入一个 post 请求的正文,就像这张图片

错误是:

{error,bad_eocd}

这个问题有解决办法吗?

看起来 Payload/*.zip data/file 您尝试的 unzip 已损坏或包装不当,请参阅 zip.erl 中的逻辑。 这是示例:

1> {ok, Data} = file:read_file("tester.txt.zip").
{ok,<<80,75,3,4,10,0,0,0,0,0,133,165,69,81,0,0,0,0,0,0,0,0,0,0,0,0,10,...>>}
2> zip:unzip(Data).                                   
{ok,["tester.txt"]}
3> zip:unzip(<<Data/binary, "break archive">>).    
{error,bad_eocd}

确保在 Payload 中提供了正确的数据。