nodejs 이미지 업로드의 루트 경로를 작성하는 방법

PHPz
풀어 주다: 2023-04-05 10:41:17
원래의
700명이 탐색했습니다.

모바일 인터넷 및 웹 애플리케이션이 대중화됨에 따라 정보 전송의 중요한 매체인 사진은 다양한 애플리케이션 시나리오에서 널리 사용되고 업로드 및 표시는 일반적인 요구 사항입니다. 웹 개발에서 Node.js는 경량 서버측 실행 환경으로 빠르고 효율적인 개발 방법을 제공합니다. 이 기사에서는 Node.js의 이미지 업로드 및 루트 경로 구성을 소개합니다.

1. Node.js 이미지 업로드

Node.js에서 이미지 업로드를 구현하려면 타사 모듈인 Express-fileupload를 사용하면 됩니다. 이 모듈을 설치하고 참조하기만 하면 됩니다. , 코드에서 그에 따라 구성하십시오.

Express-fileupload 모듈 설치:

npm install --save express-fileupload
로그인 후 복사

그런 다음 코드에서 모듈을 참조하십시오.

const fileUpload = require('express-fileupload');
로그인 후 복사

모듈을 사용하고 업로드 경로, 제한 크기 등을 구성하십시오.

app.use(fileUpload({
    limits: { fileSize: 50 * 1024 * 1024 }, //限制文件大小
    useTempFiles: true,
    tempFileDir: '/tmp/',
    uploadTimeout: 120000, //上传时间
    abortOnLimit:true,
    createParentPath:true //创建父级路径
}));
로그인 후 복사

위 코드에서 limits 는 업로드를 제한합니다. useTempFiles는 업로드된 파일을 저장하기 위해 임시 폴더를 사용한다는 의미입니다. uploadTimeout은 업로드 시간을 의미하고, abortOnLimit는 파일 크기 제한을 초과할 때 업로드를 종료할지 여부를 나타내며, createParentPath는 상위 경로를 생성할지 여부를 나타냅니다. limits 限制了上传文件的最大大小为 50MB,useTempFiles 表示使用临时文件夹存储上传的文件,tempFileDir 表示指定临时文件夹路径,uploadTimeout 表示上传时间,abortOnLimit 表示超过文件大小限制时是否终止上传,createParentPath 表示是否创建父级路径。

在路由中处理上传请求,使用 moveTo 方法将上传的文件移动到指定的目录,完成文件上传操作。

app.post('/upload', (req, res) => {
    if (!req.files) {
        return res.status(400).send('No files were uploaded.'); //上传失败返回错误提示
    }

    const file = req.files.file; //获取文件对象

    file.mv('/path/to/upload/folder/' + file.name, (err) => { //将文件移动到指定的目录并重新命名
        if (err) {
            return res.status(500).send(err);
        }

        res.send('File uploaded!');
    });
});
로그인 후 복사

以上代码中,file 对象表示上传的文件,使用 mv 方法将文件移动到指定目录,并重新命名该文件。

二、Node.js 根路径配置

在 Node.js 中,可以使用全局变量 __dirname 获取当前执行脚本所在目录的完整路径,一般使用该变量作为根路径,处理文件时可以使用路径拼接方式来写相对路径。

例如,在 Express 框架中配置静态文件目录,通常会使用根路径作为静态文件目录的前缀,以避免路径错误。

app.use(express.static(__dirname + '/public'));
로그인 후 복사

以上代码中,公共文件的目录为 public,使用 __dirname 拼接该目录的相对路径,可以确保应用启动时读取的是正确的路径。

三、Node.js 图片上传根路径的写法

在实现 Node.js 图片上传时,通常需要指定上传图片的存储路径。为避免出现路径错误,可以使用根路径加相对路径的方式进行路径拼接。

例如,配置图片上传路径为根路径下的 uploads 文件夹,可以写如下代码:

const UPLOAD_PATH = __dirname + '/uploads';

file.mv(UPLOAD_PATH + '/' + file.name, (err) => {
    if (err) {
        return res.status(500).send(err);
    }

    res.send('File uploaded!');
});
로그인 후 복사

以上代码中,UPLOAD_PATH

경로에서 업로드 요청을 처리하고 moveTo 메서드를 사용하여 업로드된 파일을 지정된 디렉터리로 이동한 후 파일 업로드 작업을 완료합니다.

rrreee

위 코드에서 file 객체는 업로드된 파일을 나타냅니다. mv 메서드를 사용하여 파일을 지정된 디렉터리로 이동하고 파일 이름을 바꿉니다.

2. Node.js 루트 경로 구성🎜🎜Node.js에서는 전역 변수 __dirname을 사용하여 현재 실행 중인 스크립트가 있는 디렉터리의 전체 경로를 얻을 수 있습니다. 변수는 파일을 처리하기 위한 루트 경로로 사용됩니다. 경로 접합을 사용하여 상대 경로를 작성할 수 있습니다. 🎜🎜예를 들어 Express 프레임워크에서 정적 파일 디렉터리를 구성할 때 루트 경로는 일반적으로 경로 오류를 방지하기 위해 정적 파일 디렉터리의 접두사로 사용됩니다. 🎜rrreee🎜위 코드에서 공개 파일의 디렉터리는 public입니다. __dirname을 사용하여 디렉터리의 상대 경로를 연결하면 올바른 경로를 읽을 수 있습니다. 응용 프로그램이 시작됩니다. 🎜🎜3. Node.js 이미지 업로드의 루트 경로를 작성하는 방법🎜🎜Node.js 이미지 업로드를 구현할 때 일반적으로 업로드된 이미지의 저장 경로를 지정해야 합니다. 경로 오류를 방지하려면 루트 경로와 경로 접합을 위한 상대 경로를 사용할 수 있습니다. 🎜🎜예를 들어 루트 경로 아래 uploads 폴더에 대한 이미지 업로드 경로를 구성하려면 다음 코드를 작성하면 됩니다. 🎜rrreee🎜위 코드에서 UPLOAD_PATH 업로드된 이미지 저장 경로를 나타냅니다. 올바른 경로 연결을 얻으려면 연결을 위한 루트 경로와 상대 경로를 사용하세요. 🎜🎜요약🎜🎜 이미지 업로드와 루트 경로 구성은 모두 Node.js 개발에 매우 ​​중요합니다. 올바른 구성과 구현은 개발 중 경로 오류 및 업로드 실패와 같은 문제를 줄일 수 있습니다. 이 문서에서는 Express-fileupload 모듈을 사용하여 이미지 업로드를 구현하는 단계를 소개하고 Node.js에서 루트 경로를 올바르게 구성하는 방법을 설명합니다. 독자들이 실제 개발에 성공적으로 활용할 수 있었으면 좋겠습니다. 🎜

위 내용은 nodejs 이미지 업로드의 루트 경로를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿