c# - How to fix this Base 64 array issue -


i have base64 string in view side. if pass whole base64 array @ time can convert in bytes this

  byte[] mybinary = convert.frombase64string(data); 

where data represents data coming form view page. having huge data. so, splitting data in view page like

var arr = [];   (var = 0; < data.length - 1; += 1000000) {    arr.push(data.substr(i, 1000000)); } 

and passing data controller

for (var x = 0; x < arr.length; x++) {               if (x = 0) {       r = "first";    }    else if (x = arr.length - 1) {        r = "last";    }    else {        r = "next";    }    $.post('/home/content', { content: e, data: r }, function (d) {     }); } 

and in controller side have written code like:

public jsonresult content(string content, string data) {    datavalueincont += content;     if (data == "last")    {        byte[] mybinary = convert.frombase64string(datavalueincont);        var fname = "d://sri//data.mp4";        filestream stream = new filestream(fname, filemode.create, fileaccess.write);        system.io.binarywriter br = new system.io.binarywriter(stream);        br.write(mybinary);        br.close();                       read.close();        stream.close();    }     return json("suc", jsonrequestbehavior.allowget); } 

but getting error at:

byte[] mybinary = convert.frombase64string(datavalueincont); 

and error

the input not valid base-64 string contains non-base 64 character, more 2 padding characters, or illegal character among padding characters.

how can rectify this. if pass data @ time able bytes in mybinary array. hope understand question.

i have idea.

as sending data using ajax, nothing ensures chunks sent sequentially.

so maybe when aggregate data chunks not in order.

try make ajax call sequentially confirm point.

[edit]

something (not tested):

var data = [];//your data  var sendmoredata = function (firsttime) {     if (data.length == 0)         return;//no more data send      var content = data.shift();     var r = firsttime ? "first" :             data.length == 0 ? "last":             "next";      $.post('/home/content', { content: content, data: r }, function (d) {         sendmoredata();     }); };  sendmoredata(true); 

Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -