Add binary files support (#503)
This commit is contained in:
@@ -418,12 +418,20 @@ func (gist *Gist) Files(revision string, truncate bool) ([]*git.File, error) {
|
||||
|
||||
var files []*git.File
|
||||
for _, fileCat := range filesCat {
|
||||
var shortContent string
|
||||
if len(fileCat.Content) > 512 {
|
||||
shortContent = fileCat.Content[:512]
|
||||
} else {
|
||||
shortContent = fileCat.Content
|
||||
}
|
||||
|
||||
files = append(files, &git.File{
|
||||
Filename: fileCat.Name,
|
||||
Size: fileCat.Size,
|
||||
HumanSize: humanize.IBytes(fileCat.Size),
|
||||
Content: fileCat.Content,
|
||||
Truncated: fileCat.Truncated,
|
||||
MimeType: git.DetectMimeType([]byte(shortContent)),
|
||||
})
|
||||
}
|
||||
return files, err
|
||||
@@ -444,12 +452,20 @@ func (gist *Gist) File(revision string, filename string, truncate bool) (*git.Fi
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var shortContent string
|
||||
if len(content) > 512 {
|
||||
shortContent = content[:512]
|
||||
} else {
|
||||
shortContent = content
|
||||
}
|
||||
|
||||
return &git.File{
|
||||
Filename: filename,
|
||||
Size: size,
|
||||
HumanSize: humanize.IBytes(size),
|
||||
Content: content,
|
||||
Truncated: truncated,
|
||||
MimeType: git.DetectMimeType([]byte(shortContent)),
|
||||
}, err
|
||||
}
|
||||
|
||||
@@ -660,10 +676,15 @@ func (gist *Gist) ToDTO() (*GistDTO, error) {
|
||||
|
||||
fileDTOs := make([]FileDTO, 0, len(files))
|
||||
for _, file := range files {
|
||||
fileDTOs = append(fileDTOs, FileDTO{
|
||||
f := FileDTO{
|
||||
Filename: file.Filename,
|
||||
Content: file.Content,
|
||||
})
|
||||
}
|
||||
if file.MimeType.CanBeEdited() {
|
||||
f.Content = file.Content
|
||||
} else {
|
||||
f.Binary = true
|
||||
}
|
||||
fileDTOs = append(fileDTOs, f)
|
||||
}
|
||||
|
||||
return &GistDTO{
|
||||
@@ -702,6 +723,7 @@ type VisibilityDTO struct {
|
||||
type FileDTO struct {
|
||||
Filename string `validate:"excludes=\x2f,excludes=\x5c,max=255"`
|
||||
Content string `validate:"required"`
|
||||
Binary bool
|
||||
}
|
||||
|
||||
func (dto *GistDTO) ToGist() *Gist {
|
||||
|
||||
Reference in New Issue
Block a user