3d model files detection should be done by the frontend

This commit is contained in:
Vincent Lark 2021-01-07 14:06:32 +01:00
parent 08ee045eba
commit e76fdcab6c
3 changed files with 9 additions and 20 deletions

View File

@ -175,9 +175,6 @@ func (i *FileInfo) detectType(modify, saveContent bool) error {
case strings.HasPrefix(mimetype, "image"):
i.Type = "image"
return nil
case is3DModelFile(i.Extension):
i.Type = "3dobject"
return nil
case isBinary(buffer[:n], n) || i.Size > 10*1024*1024: // 10 MB
i.Type = "blob"
return nil
@ -202,21 +199,6 @@ func (i *FileInfo) detectType(modify, saveContent bool) error {
return nil
}
func is3DModelFile(ext string) bool {
switch strings.ToLower(ext) {
case
".obj",
".json",
".stl",
".dae",
".ply",
".fbx",
".gltf":
return true
}
return false
}
func (i *FileInfo) detectSubtitles() {
if i.Type != "video" {
return

View File

@ -38,7 +38,7 @@
<template v-if="!loading">
<div class="preview">
<ExtendedImage v-if="req.type == 'image'" :src="raw"></ExtendedImage>
<ThreeViewer v-else-if="req.type == '3dobject'" :src="raw"></ThreeViewer>
<ThreeViewer v-else-if="is3DModelFile(req)" :src="raw"></ThreeViewer>
<audio v-else-if="req.type == 'audio'" :src="raw" autoplay controls></audio>
<video v-else-if="req.type == 'video'" :src="raw" autoplay controls>
<track
@ -76,7 +76,6 @@ import ExtendedImage from './ExtendedImage'
import ThreeViewer from './ThreeViewer'
const mediaTypes = [
"3dobject",
"image",
"video",
"audio",
@ -234,6 +233,9 @@ export default {
},
toggleSize () {
this.fullSize = !this.fullSize
},
is3DModelFile (req) {
return ThreeViewer.methods.is3DModelFile(req)
}
}
}

View File

@ -22,6 +22,8 @@ import { mapState } from 'vuex'
import url from '@/utils/url'
import { baseURL } from '@/utils/constants'
const ThreeDModelExtRegExp = new RegExp(/\.(obj|stl|dae|ply|fbx|gltf)$/);
export default {
components: {
ModelCollada,
@ -56,6 +58,9 @@ export default {
this.rotating = true
},
methods: {
is3DModelFile (req) {
return ThreeDModelExtRegExp.test(req.extension);
},
onLoad () {
this.loadingPreview = false
this.rotate();