🎨 Support opening assets through other apps on the Android https://github.com/siyuan-note/siyuan/issues/10657

This commit is contained in:
Daniel 2024-03-22 11:29:08 +08:00
parent 1c9594be8e
commit c5cc3ff779
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 21 additions and 0 deletions

View file

@ -99,6 +99,10 @@ func GetAssetAbsPath(asset string) (ret string) {
return
}
func GetMimeTypeByExt(ext string) string {
return util.GetMimeTypeByExt(ext)
}
func SetTimezone(container, appDir, timezoneID string) {
if "ios" == container {
os.Setenv("ZONEINFO", filepath.Join(appDir, "app", "zoneinfo.zip"))

View file

@ -20,6 +20,7 @@ import (
"bytes"
"io"
"io/fs"
"mime"
"os"
"path"
"path/filepath"
@ -28,10 +29,26 @@ import (
"github.com/88250/gulu"
"github.com/88250/lute/ast"
"github.com/gabriel-vasile/mimetype"
"github.com/siyuan-note/filelock"
"github.com/siyuan-note/logging"
)
func GetMimeTypeByExt(filePath string) (ret string) {
ret = mime.TypeByExtension(filepath.Ext(filePath))
if "" == ret {
m, err := mimetype.DetectFile(filePath)
if nil != err {
logging.LogErrorf("detect mime type of [%s] failed: %s", filePath, err)
return
}
if nil != m {
ret = m.String()
}
}
return
}
func IsSymlinkPath(absPath string) bool {
fi, err := os.Lstat(absPath)
if nil != err {