mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
cmd/swarm: mime auto(magic)detection
This commit is contained in:
parent
5841970c18
commit
5d50586dcb
1 changed files with 20 additions and 1 deletions
|
|
@ -185,9 +185,28 @@ func (c *client) uploadFile(file string, fi os.FileInfo, mimetype_ string) (mani
|
||||||
hash, err := c.uploadFileContent(file, fi)
|
hash, err := c.uploadFileContent(file, fi)
|
||||||
if mimetype_ != "" {
|
if mimetype_ != "" {
|
||||||
mimetype = mimetype_
|
mimetype = mimetype_
|
||||||
|
log.Info("Mime type set by override", "mime", mimetype)
|
||||||
} else {
|
} else {
|
||||||
mimetype = mime.TypeByExtension(filepath.Ext(fi.Name()))
|
ext := filepath.Ext(file)
|
||||||
|
log.Info("Ext" , "ext", ext, "file", file)
|
||||||
|
if ext != "" {
|
||||||
|
mimetype = mime.TypeByExtension(filepath.Ext(fi.Name()))
|
||||||
|
log.Info("Mime type set by fileextension", "mime", mimetype, "ext", filepath.Ext(file))
|
||||||
|
} else {
|
||||||
|
f, err := os.Open(file)
|
||||||
|
if err == nil {
|
||||||
|
first512 := make([]byte, 512)
|
||||||
|
fread, _ := f.ReadAt(first512, 0)
|
||||||
|
if fread > 0 {
|
||||||
|
mimetype = http.DetectContentType(first512[:fread])
|
||||||
|
log.Info("Mime type set by autodetection", "mime", mimetype)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
f.Close()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m := manifestEntry{
|
m := manifestEntry{
|
||||||
Hash: hash,
|
Hash: hash,
|
||||||
ContentType: mimetype,
|
ContentType: mimetype,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue