Fix mp3, add flac and wav support

This commit is contained in:
Timur Ismagilov 2025-07-03 10:51:33 +03:00
parent ce108bc07d
commit 3718f6ec7c
4 changed files with 32 additions and 15 deletions

View File

@ -6,7 +6,7 @@ You can upload any media file, but only those listed below will be displayed on
* **Images:** jpg, gif, png, webp, svg, ico * **Images:** jpg, gif, png, webp, svg, ico
* **Video:** ogg, webm, mp4 * **Video:** ogg, webm, mp4
* **Audio:** ogg, webm, mp3 * **Audio:** ogg, webm, mp3, flac, wav
== How to upload media? == How to upload media?
For non-existent hyphae, upload a file in the //Upload media// section. For non-existent hyphae, upload a file in the //Upload media// section.

View File

@ -40,20 +40,33 @@ func DataFromFilename(fullPath string) (name string, isText bool, skip bool) {
var mapMime2Ext = map[string]string{ var mapMime2Ext = map[string]string{
"application/octet-stream": "bin", "application/octet-stream": "bin",
"image/jpeg": "jpg",
"image/gif": "gif", "image/jpeg": "jpg",
"image/png": "png", "image/gif": "gif",
"image/webp": "webp", "image/png": "png",
"image/svg+xml": "svg", "image/webp": "webp",
"image/x-icon": "ico", "image/svg+xml": "svg",
"application/ogg": "ogg", "image/x-icon": "ico",
"video/webm": "webm",
"audio/mp3": "mp3", "application/ogg": "ogg",
"video/mp4": "mp4", "video/webm": "webm",
"audio/mp3": "mp3",
"audio/mpeg": "mp3",
"audio/mpeg3": "mp3",
"video/mp4": "mp4",
"audio/flac": "flac",
"audio/wav": "wav",
"audio/vnd.wav": "wav",
"audio/vnd.wave": "wav",
"audio/wave": "wav",
"audio/x-pn-wav": "wav",
"audio/x-wav": "wav",
} }
var mapExt2Mime = map[string]string{ var mapExt2Mime = map[string]string{
".bin": "application/octet-stream", ".bin": "application/octet-stream",
".jpg": "image/jpeg", ".jpg": "image/jpeg",
".jpeg": "image/jpeg", ".jpeg": "image/jpeg",
".gif": "image/gif", ".gif": "image/gif",
@ -61,8 +74,12 @@ var mapExt2Mime = map[string]string{
".webp": "image/webp", ".webp": "image/webp",
".svg": "image/svg+xml", ".svg": "image/svg+xml",
".ico": "image/x-icon", ".ico": "image/x-icon",
".ogg": "application/ogg", ".ogg": "application/ogg",
".webm": "video/webm", ".webm": "video/webm",
".mp3": "audio/mp3", ".mp3": "audio/mpeg",
".mp4": "video/mp4", ".mp4": "video/mp4",
".flac": "audio/flac",
"wav": "audio/wav",
} }

View File

@ -21,7 +21,7 @@
</video> </video>
</div> </div>
{% case ".mp3" %} {% case ".mp3", ".wav", ".flac" %}
<div class="binary-container binary-container_with-audio"> <div class="binary-container binary-container_with-audio">
<audio controls> <audio controls>
<source src="/binary/{%s= h.CanonicalName() %}"/> <source src="/binary/{%s= h.CanonicalName() %}"/>

View File

@ -112,7 +112,7 @@ func StreamMedia(qw422016 *qt422016.Writer, h *hyphae.MediaHypha, lc *l18n.Local
`) `)
//line mycoopts/view.qtpl:24 //line mycoopts/view.qtpl:24
case ".mp3": case ".mp3", ".wav", ".flac":
//line mycoopts/view.qtpl:24 //line mycoopts/view.qtpl:24
qw422016.N().S(` qw422016.N().S(`
<div class="binary-container binary-container_with-audio"> <div class="binary-container binary-container_with-audio">