Skip to content

byteskode/xls2xform-upload

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xls2xform-upload

Build Status

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 xform details from request body
    //by using fieldName or default to `xlsform`
    request.body.xlsform;

});

//or with options supplied
app.get('/xform', xlsformUpload({
    fieldName: 'form'
}), function(request, response) {

    //obtain xform details from request body
    //by using fieldName or default to `xlsform`
    request.body.form;

});

Options

xls2xform-upload accept the following options

  • fieldName a name of the field used to extract xlsform details from multiparty or normal http request default to xlsform

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 xlsform
  • type mime type of xlsform
  • size size in bytes of the xlsform
  • base64 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">

Literature Reviewed

About

Upload and convert XLSForm into XForm

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%