Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Chiefs
ChiefSend2
Commits
d47887c8
Commit
d47887c8
authored
Mar 28, 2021
by
Lukas Böhm
🎱
Browse files
fix zipping
parent
1ff4d5b6
Changes
1
Show whitespace changes
Inline
Side-by-side
api/api.go
View file @
d47887c8
...
...
@@ -2,7 +2,6 @@ package main
import
(
"archive/zip"
"bytes"
"encoding/json"
"errors"
"fmt"
...
...
@@ -301,23 +300,34 @@ func DownloadZip(w http.ResponseWriter, r *http.Request) *HTTPError {
return
er
}
//comp, _ := zip2.Compressor(w)
zipWriter
:=
zip
.
NewWriter
(
w
)
for
_
,
file
:=
range
share
.
Attachments
{
filePath
:=
filepath
.
Join
(
config
.
mediaDir
,
"data"
,
file
.
ShareID
.
String
(),
file
.
ID
.
String
())
fw
,
err
:=
zipWriter
.
Create
(
filePath
)
fileToZip
,
err
:=
os
.
Open
(
filePath
)
if
err
!=
nil
{
return
&
HTTPError
{
err
,
"error opening file"
,
500
}
}
defer
fileToZip
.
Close
()
info
,
err
:=
fileToZip
.
Stat
()
if
err
!=
nil
{
return
&
HTTPError
{
err
,
"error
when zipping
"
,
500
}
return
&
HTTPError
{
err
,
"error
getting file info
"
,
500
}
}
fileContent
,
err
:=
ioutil
.
ReadFile
(
filePath
)
header
,
err
:=
zip
.
FileInfoHeader
(
info
)
if
err
!=
nil
{
return
&
HTTPError
{
err
,
"error
when
rea
d
ing file
to zip
"
,
500
}
return
&
HTTPError
{
err
,
"error
c
rea
t
ing file
header
"
,
500
}
}
_
,
err
=
io
.
Copy
(
fw
,
bytes
.
NewReader
(
fileContent
))
header
.
Name
=
file
.
Filename
header
.
Method
=
zip
.
Deflate
writer
,
err
:=
zipWriter
.
CreateHeader
(
header
)
if
err
!=
nil
{
return
&
HTTPError
{
err
,
"error
when writing file to zip
"
,
500
}
return
&
HTTPError
{
err
,
"error
creating header
"
,
500
}
}
_
,
err
=
io
.
Copy
(
writer
,
fileToZip
)
}
err
=
zipWriter
.
Close
()
if
err
!=
nil
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment