()
| 482 | } |
| 483 | |
| 484 | func (f *FileInfo) getContent() error { |
| 485 | if IsBlockDevice(f.FileMode) { |
| 486 | return buserr.New("ErrFileCanNotRead") |
| 487 | } |
| 488 | if f.Size > 10*1024*1024 { |
| 489 | return buserr.New("ErrFileToLarge") |
| 490 | } |
| 491 | if IsBinaryPreviewFile(f.MimeType, f.Extension) { |
| 492 | return buserr.New("ErrFileCanNotRead") |
| 493 | } |
| 494 | afs := &afero.Afero{Fs: f.Fs} |
| 495 | cByte, err := afs.ReadFile(f.Path) |
| 496 | if err != nil { |
| 497 | return nil |
| 498 | } |
| 499 | if len(cByte) > 0 && DetectBinary(cByte) { |
| 500 | return buserr.New("ErrFileCanNotRead") |
| 501 | } |
| 502 | f.Content = string(cByte) |
| 503 | return nil |
| 504 | } |
| 505 | |
| 506 | func IsBinaryPreviewFile(mimeType, extension string) bool { |
| 507 | mimeType = strings.ToLower(strings.TrimSpace(mimeType)) |
no test coverage detected