我正在编写一个 JavaScript Windows 商店应用程序。我的要求是读取本地可用的文件并获取 arraybuffer 或 Uint8array 作为响应。
我尝试使用“Windows.Storage.FileIO.readBufferAsync(file)”,但这给了我一个 IBuffer 对象。
- 是否有读取文件并为我提供数组缓冲区的 API?
- 如何将“IBuffer”转换为“arraybuffer”?
提前致谢
我正在编写一个 JavaScript Windows 商店应用程序。我的要求是读取本地可用的文件并获取 arraybuffer 或 Uint8array 作为响应。
我尝试使用“Windows.Storage.FileIO.readBufferAsync(file)”,但这给了我一个 IBuffer 对象。
提前致谢
您可以使用DataReader,例如:
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(new Windows.Foundation.Uri("ms-appx:///Assets/textfile.txt")).then(
function (myFile) {
Windows.Storage.FileIO.readBufferAsync(myFile).done(
function (buffer) {
var myArray = new Uint8Array(buffer.length);
var dataReader = Windows.Storage.Streams.DataReader.fromBuffer(buffer);
dataReader.readBytes(myArray)
dataReader.close();
}
);
}
);
Windows.Security.Cryptography.CryptographicBuffer.copyToByteArray(IBuffer)
这将返回 Uint8Array(字节数组)