Node.js - File System get file type, solution around year 2012

file-type, filesystems, javascript, node.js

Solution

Have a look at the mmmagic module. It is a libmagic binding and seems to do exactly what you want.

Problem

I need to get the file type of a file with the help of Node.js to set the content type. I know I can easily check the file extension, but I've also got files without an extension which should have the content type `image/png` or `text/html`. This is my code (I know it doesn't make much sense but that's the base I need): ``` var http = require("http"), fs = require("fs"); http.createServer(function(req, res) { var data = ""; try { /* * Do not use this code! * It's not async and it has a security issue. * The code style is also bad. */ data = fs.readFileSync("/home/path/to/folder" + req.url); var type = "???"; // how to get the file type?? res.writeHead(200, {"Content-Type": type}); } catch(e) { data = "404 Not Found"; res.writeHead(404, {"Content-Type": "text/plain"}); } res.write(data); res.end(); }).listen(7000); ``` I haven't found a function for that in the API, so how can I do it?

Original source

Related problems