xls2xform-upload
v0.2.0
Published
Upload and convert XLSForm into XForm
Downloads
7
Maintainers
Readme
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-upload
Usage
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
fieldName
a name of the field used to extract xlsform details frommultiparty
or normal http request default toxlsform
pythonPath
path 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.
name
is the name of xlsformtype
mime type of xlsformsize
size in bytes of the xlsformbase64
base64 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">