How to validate any File Type using Autodetect in Node.JS

File validation can really be a life saver, protecting you from all sorts of annoying problems. Generally, we set up file validation to target specific file formats (DOCX, XLSX, etc), but what if we need a more generalized solution? That’s going to be a bit more complicated. Well, today’s tutorial will show you how to have your cake and eat it, too, so to speak. Here’s how to set up validation with format autodetection built in, and accomplish it in under five minutes. Sound too good to be true? Here’s how.

Our process kicks off with the setup for our API client. This simply requires the following reference to be inserted into package.json:

"dependencies": {
"cloudmersive-convert-api-client": "^2.1.6"

Now call validateDocumentAutodetectValidation:

var CloudmersiveConvertApiClient = require('cloudmersive-convert-api-client');var defaultClient = CloudmersiveConvertApiClient.ApiClient.instance;// Configure API key authorization: Apikeyvar Apikey = defaultClient.authentications['Apikey'];Apikey.apiKey = 'YOUR API KEY';// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)//Apikey.apiKeyPrefix = 'Token';var apiInstance = new CloudmersiveConvertApiClient.ValidateDocumentApi();var inputFile = "/path/to/file"; // File | Input file to perform the operation on.var callback = function(error, data, response) {if (error) {console.error(error);} else {console.log('API called successfully. Returned data: ' + data);}};apiInstance.validateDocumentAutodetectValidation(inputFile, callback);

And just like that, what would have been a monster of a task has been pared down to a single function call. API magic at work.

Image for post
Image for post

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store