0.2.0 • Published 10 years ago
xls2xform-upload v0.2.0
xls2xform-upload
Upload and convert XLSForm into XForm in nodejs
It support both multiparty request and normal http request where xlsform is send as base64 encoded content
Installation
$ npm install --save xls2xform-uploadUsage
var app = require('express');
var xlsformUpload = require('xls2xform-upload');
//use xlsform in your middlewares chain
app.get('/xform', xlsformUpload(), function(request, response) {
//obtain xlsform and xform details from request body
//by using `xlsform` key by default
request.body.xlsform;
});
//or with options supplied
app.get('/xform', xlsformUpload({
fieldName: 'form',
pythonPath:<custom_pathon_path>
}), function(request, response) {
//obtain xlsform and xform details from request body
//by using provided fieldName `form`
request.body.form;
});Options
xls2xform-upload accept the following options
fieldNamea name of the field used to extract xlsform details frommultipartyor normal http request default toxlsformpythonPathpath to custom python installation
Result
xls2xform-upload will accept, parse and convert submitted XLSForm into XForm. The structure of result is as bellow:
{
name: '<name of the file of xlsform uploaded>',
type: '<mime type of the file of uploaded xlsform>',
size: '<size of uploaded xlsform>',
base64:'<xlsform in base64>',
xform:'<xform>'
}Base64 Convertion
In base64 convertion you will have to prepare a json payload as below:
{
`<fieldName>`: {
name: 'simple.xls',
type: 'application/vnd.ms-excel',
size: 8704,
base64: //xlsform encoded as base64
}
}<fieldName> must match the fieldName options supplied when configure middleware stack.
nameis the name of xlsformtypemime type of xlsformsizesize in bytes of the xlsformbase64base64 encoded xlsform
Multiparty Convertion
In multiparty convertion your have to make sure file field is single upload and its name match the fieldName options supplied when configure middleware stack.
<input type="file" name="xlsform">