omg it seems I can add attachments in the HTML test page. :-)

JSON-107-01
Roker 4 years ago
parent 2b790eabc6
commit 4bfc9e8337

@ -80,7 +80,7 @@ function genStringList(nr, pp)
}
function changeBlob(inp, nr)
function changeBlob(inp, event, nr)
{
fileInputs[inp.id] = [];
for(var i=0; i<inp.files.length; ++i)
@ -88,12 +88,16 @@ function changeBlob(inp, nr)
var f = inp.files[i];
var reader = new FileReader();
reader.idx = i;
reader.f = f;
reader.onload = function(e) {
var content = arrayToBase64(e.target.result);
fileInputs[inp.id].push( { 'mime_type': f.type, 'filename': f.name, 'value': content } );
var ab = e.target.result;
var bytes = new Uint8Array(ab);
var content = arrayToBase64(bytes);
var blob = { 'mime_type': this.f.type, 'filename': this.f.name, 'value': content }
fileInputs[inp.id].push( blob );
document.getElementById('span_blob_' + nr).innerHTML += "#" + i + ": Files for " + inp.id + " = "
+ JSON.stringify(fileInputs) + " e=" + JSON.stringify(e.target.result.length) + "<br>";
document.getElementById('span_blob_' + nr).innerHTML += fileInputs[inp.id].length + " Files processed. <br>";
}
reader.readAsArrayBuffer(f);
@ -186,7 +190,7 @@ var Param2Form =
if(pp.direction=='Out')
return 'BlobList (output)';
var blob_id = "inp_blob_" + nr;
return '<input type="file" multiple id="' + blob_id + '" name="' + blob_id + '" onchange="changeBlob(this, \'' + nr + '\')" >'
return '<input type="file" multiple id="' + blob_id + '" name="' + blob_id + '" onchange="changeBlob(this, event, \'' + nr + '\')" >'
+ '<span id="span_blob_' + nr + '">(…)</span>';
},
Identity : function(nr, pp, value)
@ -332,7 +336,7 @@ var Form2Param =
ret.longmsg = document.getElementById('inp_param_' + nr + '_lmsg').value;
ret.from = Form2Param.Identity( nr + '_from');
ret.to = Form2Param.IdentityList( nr + '_to');
ret.attachments = Form2Param.BlobList( nr );
ret.attachments = Form2Param.BlobList( nr + '_att' );
return ret;
},
BlobList : function(nr, pp, value)
@ -343,8 +347,9 @@ var Form2Param =
Got the file data from fileInputs['inp_blob_' + nr] which should be filled by the
onchange callbacks of the <input type="file"> element, if they are already all there.
*/
var bloblist = fileInputs['inp_blob_' + nr ]
return fileInputs['inp_blob_' + nr ];
return bloblist;
},
Identity : function(nr, pp, value)
{

Loading…
Cancel
Save