Answered by:
How should I read an image as a byte array?

Question
-
I'm trying to read an image as a byte array through a openAsync()
pageData.photofile.openAsync(Windows.Storage.FileAccessMode.read).then(function (stream) { var inputStream = stream.getInputStreamAt(0); var reader = new Windows.Storage.Streams.DataReader(inputStream); var size = stream.size; if (size > 0) { reader.loadAsync(size).then(function () { var fileContent = new Array(size); reader.readBuffer(fileContent); //.readString(size); displayDebugMessage(fileContent.toString());
I overrided toString method of Array:
Array.prototype.toString = function () { var retStr = "["; for (var x in this) { if (isNaN(x)) { val = (typeof(this[x]) == 'string') ? "'" + this[x] + "'" : this[x]; retStr += x + ":" + val + ", "; } else { val = (typeof(this[x]) == 'string') ? "'" + this[x] + "'" : this[x]; retStr += val + ", "; } } return retStr + "]"; }
But it returned nothing. It looks like I have made some mistakes in reading the byte array. How should I do?
Tuesday, November 15, 2011 4:58 AM
Answers
-
Hi Sungsoo,
Try something like this:
var reader = new Windows.Storage.Streams.DataReader(inputStream);
reader.loadAsync(size).then(
function (readsize) {
var array = new Array(readsize);
reader.readBytes(array);-Jeff
Jeff Sanders (MSFT)- Proposed as answer by Jeff SandersMicrosoft employee, Moderator Tuesday, November 15, 2011 2:40 PM
- Marked as answer by Sungsoo Moon Wednesday, November 16, 2011 12:17 AM
Tuesday, November 15, 2011 2:40 PMModerator
All replies
-
In addition, when I seen the fileContent variable in Watch window, the "fileContent.length" is correctly set and when I put "fileContent[0]", it shows "undefined".Tuesday, November 15, 2011 5:01 AM
-
Hi Sungsoo,
Try something like this:
var reader = new Windows.Storage.Streams.DataReader(inputStream);
reader.loadAsync(size).then(
function (readsize) {
var array = new Array(readsize);
reader.readBytes(array);-Jeff
Jeff Sanders (MSFT)- Proposed as answer by Jeff SandersMicrosoft employee, Moderator Tuesday, November 15, 2011 2:40 PM
- Marked as answer by Sungsoo Moon Wednesday, November 16, 2011 12:17 AM
Tuesday, November 15, 2011 2:40 PMModerator -
Thanks Jeff!
The method is the answer :)
Wednesday, November 16, 2011 12:18 AM