在Windows运行时应用程序中,我有一个从Javascript Blob对象创建的javascript文件对象,它是各自的mime类型。
最终目标是使用默认的Windows应用程序打开此文件(或提示用户选择一个)。所以PDF将由Adobe打开,等等。
目前,我是:
有没有办法消除这些步骤?保存文件并将其重新打开似乎是多余的,因为我觉得我可以首先“打开”该文件,但我没有看到Microsoft提供的关于如何打开javascript文件的任何文档。
答案 0 :(得分:1)
对于将来遇到这种情况的人来说,似乎没有办法跳过写入步骤,所以这里是保存并打开blob文件的代码,给定二进制blob(blob)和正确的文件名(fileName) )
var reader = new FileReader();
var blobAsArrayBuffer;
reader.onloadend = function () {
blobAsArrayBuffer = reader.result;
var folder = Windows.Storage.ApplicationData.current.temporaryFolder;
var storageFile = folder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.replaceExisting).then(
function (file) {
var u8array = Uint8Array(blobAsArrayBuffer);
Windows.Storage.FileIO.writeBytesAsync(file, u8array);
Windows.System.Launcher.launchFileAsync(file);
});
};
reader.readAsArrayBuffer(blob);