So erhalten Sie Bilder mit Node.js auf Mobiltelefonen
Node.js ist eine auf JavaScript basierende Back-End-Servertechnologie. Sie bietet die Vorteile hoher Effizienz, Flexibilität, einfacher Erlernbarkeit und Verwendung usw. Sie ist mittlerweile weit verbreitet Wird in der Webentwicklung und anderen Bereichen verwendet.
Da der Markt für mobile Geräte weiter wächst, nutzen immer mehr Menschen Smartphones, um Fotos aufzunehmen, zu speichern und zu teilen. Um diese Fotos jedoch in einer Webanwendung zu verwenden, müssen Sie die Fotos auf dem Mobiltelefon abrufen und auf den Server hochladen. Dazu ist die Verwendung von Node.js erforderlich, um die Fotos auf dem Mobiltelefon abzurufen.
In diesem Artikel wird erläutert, wie Sie mit Node.js Fotos vom Mobiltelefon abrufen und die Funktion zum Hochladen dieser Fotos auf den Server implementieren.
Schritt 1: Installieren Sie die erforderlichen Module
Um Fotos auf Ihr Telefon zu laden, müssen Sie zwei Node.js-Module verwenden: node-exiftool und formidable. Sie müssen diese also zuerst installieren.
Sie können npm verwenden, um Node-Exiftool zu installieren. npm ist das Paketverwaltungstool für Node.js. Es kann problemlos Node.js-Module herunterladen und installieren. Geben Sie den folgenden Befehl ein:
npm install node-exiftool
npm install node-exiftool
使用npm安装formidable,输入以下命令:
npm install formidable
npm install formidable
Schritt 2: Schreiben Der CodeUm Fotos auf dem Telefon zu erhalten, müssen Sie das http-Modul von Node.js verwenden, um die Clientanforderung abzuhören, das Node-Exiftool-Modul verwenden, um die Metadateninformationen des Fotos abzurufen, und dann das beeindruckende Modul verwenden um das Bild auf den Server hochzuladen. Das Folgende ist der Code zum Abrufen der Fotos:
var http = require('http'); var exiftool = require('node-exiftool'); var formidable = require('formidable'); http.createServer(function (req, res) { if (req.url == '/upload' && req.method.toLowerCase() == 'post') { var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { if (err) throw err; var ep = new exiftool.ExiftoolProcess(); ep.open(); ep.readMetadata(files.file.path, ['-File:all'], function (error, metadata) { if (error) throw error; console.log(metadata); }); res.writeHead(200, {'Content-Type': 'text/html'}); res.end('success'); }); return; } res.writeHead(200, {'Content-Type': 'text/html'}); res.end(` <form action="/upload" method="post" enctype="multipart/form-data"> <div> <label>Select image:</label> <input type="file" name="file"> </div> <div> <button type="submit">Upload</button> </div> </form> `); }).listen(8080); console.log('Server running at http://127.0.0.1:8080/');
var exiftool = require('node-exiftool');
var ep = new exiftool.ExiftoolProcess(); ep.open();
ep.readMetadata(files.file.path, ['-File:all'], function (error, metadata) { if (error) throw error; console.log(metadata); });
var formidable = require('formidable');
var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { if (err) throw err; });
var fs = require('fs'); fs.rename(files.file.path, __dirname + '/uploaded/' + files.file.name, function (err) { if (err) throw err; });
var http = require('http'); var exiftool = require('node-exiftool'); var formidable = require('formidable'); var fs = require('fs'); http.createServer(function (req, res) { if (req.url == '/upload' && req.method.toLowerCase() == 'post') { var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { if (err) throw err; var ep = new exiftool.ExiftoolProcess(); ep.open(); ep.readMetadata(files.file.path, ['-File:all'], function (error, metadata) { if (error) throw error; console.log(metadata); }); fs.rename(files.file.path, __dirname + '/uploaded/' + files.file.name, function (err) { if (err) throw err; }); res.writeHead(200, {'Content-Type': 'text/html'}); res.end('success'); }); return; } res.writeHead(200, {'Content-Type': 'text/html'}); res.end(` <form action="/upload" method="post" enctype="multipart/form-data"> <div> <label>Select image:</label> <input type="file" name="file"> </div> <div> <button type="submit">Upload</button> </div> </form> `); }).listen(8080); console.log('Server running at http://127.0.0.1:8080/');
Das obige ist der detaillierte Inhalt vonSo erhalten Sie Bilder vom Mobiltelefon in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!