Files
monde-usage-unity/Assets/FirebaseWebGL/Plugins/firebasestorage.jslib
2024-09-22 21:45:37 +02:00

50 lines
1.4 KiBLFS
JavaScript

mergeInto(LibraryManager.library, {
DownloadFile: function (path, objectName, callback, fallback) {
var parsedPath = UTF8ToString(path);
var parsedObjectName = UTF8ToString(objectName);
var parsedCallback = UTF8ToString(callback);
var parsedFallback = UTF8ToString(fallback);
try {
firebase
.storage()
.refFromURL(parsedPath)
.getDownloadURL()
.then(function (url) {
unityInstance.Module.SendMessage(
parsedObjectName,
parsedCallback,
JSON.stringify({
url: url,
// base64File: arrayBufferToBase64(data),
storagePath: parsedPath,
})
);
})
.catch(function (error) {
unityInstance.Module.SendMessage(
parsedObjectName,
parsedFallback,
JSON.stringify(error, Object.getOwnPropertyNames(error))
);
});
} catch (error) {
unityInstance.Module.SendMessage(
parsedObjectName,
parsedFallback,
JSON.stringify(error, Object.getOwnPropertyNames(error))
);
}
function arrayBufferToBase64(buffer) {
var binary = "";
var bytes = new Uint8Array(buffer);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
return window.btoa(binary);
}
},
});