0

我正在编写一个 JavaScript Windows 商店应用程序。我的要求是读取本地可用的文件并获取 arraybuffer 或 Uint8array 作为响应。

我尝试使用“Windows.Storage.FileIO.readBufferAsync(file)”,但这给了我一个 IBuffer 对象。

  1. 是否有读取文件并为我提供数组缓冲区的 API?
  2. 如何将“IBuffer”转换为“arraybuffer”?

提前致谢

4

2 回答 2

2

您可以使用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();
                }
            );
        }
    );
于 2013-01-16T07:41:48.557 回答
0

Windows.Security.Cryptography.CryptographicBuffer.copyToByteArray(IBuffer)

这将返回 Uint8Array(字节数组)

于 2015-03-26T12:27:15.820 回答