12345678910 |
- /**
- * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
- * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
- * 保留所有权利 All Rights Reserved.
- * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/storage/service-upload/util-file-metadata.mjs
- */
- export async function getFileMetadata(t){const a={name:t.name,size:t.size,type:t.type,lastModified:t.lastModified,metadata:{}};return a.metadata.lastModified=t.lastModified,t.type.startsWith("image/")?await extractImageMetadata(t,a.metadata):(t.type.startsWith("audio/")||t.type.startsWith("video/"))&&await extractMediaMetadata(t,a.metadata),a}async function extractImageMetadata(t,a){try{const e=new Image,i=URL.createObjectURL(t);await new Promise(((t,a)=>{e.onload=()=>t(),e.onerror=a,e.src=i})),a.width=e.naturalWidth,a.height=e.naturalHeight;try{const e=await t.arrayBuffer(),i=await parseExifData(e);i&&Object.assign(a,i)}catch(t){console.warn("无法解析EXIF数据:",t)}URL.revokeObjectURL(i)}catch(t){console.error("提取图片元数据失败:",t)}}async function extractMediaMetadata(t,a){try{const e=t.type.startsWith("audio/")?new Audio:document.createElement("video"),i=URL.createObjectURL(t);await new Promise(((t,a)=>{e.onloadedmetadata=()=>t(),e.onerror=a,e.src=i})),a.duration=e.duration,"videoWidth"in e&&(a.width=e.videoWidth),"videoHeight"in e&&(a.height=e.videoHeight),URL.revokeObjectURL(i)}catch(t){console.error("提取媒体元数据失败:",t)}}async function parseExifData(t){const a=new DataView(t);return 65496!==a.getUint16(0)?null:{colorDepth:24,orientation:a.getUint16(16,!1)||1}}
- var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9zdG9yYWdlL3NlcnZpY2UtdXBsb2FkL3V0aWwtZmlsZS1tZXRhZGF0YS5tanM=`
-
|