问题描述
我将 Uint8Array 值保存到 Object。然后我把它带到DBHandler层,让图像按字节[] = Uint8Array的object.getvalue保存。
var o = new Object();
for (var i = 0; i < files.length; i++) {
var file = files[i].rawFile;
console.log(file);
var reader = new FileReader();
reader.onload = function () {
var arrayBuffer = this.result;
var view = new Uint8Array(arrayBuffer);
console.log(arrayBuffer);
console.log(view);
o.byte = view;
o.name = file.name;
};
reader.readAsArrayBuffer(file);
}
我的图像值如图像: enter image description here
接下来是我的DBhandler层,不知道怎么处理convert Object.getValue("byte") to byte[]。
byte[] fileContent = new byte[(byte)objData.GetValue("byte")];
string filename = objData.GetValue("name").ToString();
当我调试值是像图像: enter image description here
它像图像一样出错:enter image description here
我尝试 WebClient 根据 URL 获取字节 [] 并使用相同的图像,然后输出如下所示的数据。 enter image description here
我想将 Object.getValue ("byte") 转换为与 WebClient 将 Url 图像转换为 byte[] 相同的格式。希望大家帮帮我。
解决方法
如果要将小端格式的 UInt8Array 转换为 byte[] 数组。 你可以用这个
byte[] output= input.SelectMany(BitConverter.GetBytes).ToArray();