Files
pole-book/server/node_modules/@strapi/upload/dist/admin/utils/urlsToAssets.mjs

38 lines
1.3 KiB
JavaScript

import { AssetSource } from '../constants.mjs';
import { typeFromMime } from './typeFromMime.mjs';
function getFilenameFromURL(url) {
return new URL(url).pathname.split('/').pop();
}
const urlsToAssets = async (urls)=>{
const assetPromises = urls.map((url)=>fetch(url).then(async (res)=>{
const blob = await res.blob();
const loadedFile = new File([
blob
], getFilenameFromURL(res.url), {
type: res.headers.get('content-type') || undefined
});
return {
name: loadedFile.name,
url: res.url,
mime: res.headers.get('content-type'),
rawFile: loadedFile
};
}));
// Retrieve the assets metadata
const assetsResults = await Promise.all(assetPromises);
const assets = assetsResults.map((fullFilledAsset)=>({
source: AssetSource.Url,
name: fullFilledAsset.name,
type: typeFromMime(fullFilledAsset.mime),
url: fullFilledAsset.url,
ext: fullFilledAsset.url.split('.').pop(),
mime: fullFilledAsset.mime ? fullFilledAsset.mime : undefined,
rawFile: fullFilledAsset.rawFile
}));
return assets;
};
export { urlsToAssets };
//# sourceMappingURL=urlsToAssets.mjs.map