Node.js로 휴대폰에서 사진을 얻는 방법
Node.js는 JavaScript를 기반으로 한 백엔드 서버 기술로 높은 효율성, 유연성, 배우기 쉽고 사용하기 쉬운 등의 장점을 가지고 있습니다. 웹 개발 및 기타 분야에 사용됩니다.
모바일 기기 시장이 지속적으로 확장됨에 따라 점점 더 많은 사람들이 스마트폰을 사용하여 사진을 찍고, 저장하고, 공유하고 있습니다. 그러나 웹 애플리케이션에서 이러한 사진을 작동하려면 휴대폰에서 사진을 가져와 서버에 업로드해야 하며, 이를 위해서는 Node.js를 사용하여 휴대폰에서 사진을 가져와야 합니다.
이 기사에서는 Node.js를 사용하여 휴대폰에서 사진을 가져와 서버에 업로드하는 기능을 구현하는 방법을 소개합니다.
1단계: 필요한 모듈 설치
휴대폰에 사진을 찍으려면 node-exiftool과 formidable이라는 두 개의 Node.js 모듈을 사용해야 하므로 먼저 설치해야 합니다.
npm을 사용하여 node-exiftool을 설치할 수 있습니다. npm은 Node.js 모듈을 쉽게 다운로드하고 설치할 수 있는 도구입니다. 다음 명령을 입력하세요:
npm install node-exiftool
npm install node-exiftool
使用npm安装formidable,输入以下命令:
npm install formidable
npm install formidable
2단계: 쓰기 the code휴대폰에서 사진을 얻으려면 Node.js의 http 모듈을 사용하여 클라이언트 요청을 듣고 node-exiftool 모듈을 사용하여 사진의 메타데이터 정보를 얻은 다음 formidable 모듈을 사용해야 합니다. 이미지를 서버에 업로드합니다. 사진을 가져오는 코드는 다음과 같습니다.
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/');
위 내용은 nodejs에서 휴대폰에서 사진을 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!