찾다
웹 프론트엔드프런트엔드 Q&Anodejs 이미지 업로드의 루트 경로를 작성하는 방법

모바일 인터넷 및 웹 애플리케이션이 대중화됨에 따라 정보 전송의 중요한 매체인 사진은 다양한 애플리케이션 시나리오에서 널리 사용되고 업로드 및 표시는 일반적인 요구 사항입니다. 웹 개발에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
React의 생태계의 크기 : 복잡한 풍경 탐색React의 생태계의 크기 : 복잡한 풍경 탐색Apr 28, 2025 am 12:21 AM

Tonavigatereact'scomplexecosystemectically, worldsandlibraries, endegeirstrengthsandweaknesses, andintegrateTheMtoEnhancedEvelopment.StartWithCorereaCtConceptSandusestate, gragratevallystecorecomplexSolutionsormerObxasnee

React가 키를 사용하여 목록 항목을 효율적으로 식별하는 방법React가 키를 사용하여 목록 항목을 효율적으로 식별하는 방법Apr 28, 2025 am 12:20 AM

ReactuseskeyStoefficificificificientifyListItemsByProvingableIdentityToeachelement.1) KeysLACKERACERACTTOTRACKCHANGENLISTSWITHOUTRE-RENDERINGENTIRELIST.2) 선택 ARRAYINDICES.3) 교정 keyUsagesSENTIFORYLATIONTIMPROFFERCANC

React의 키 관련 문제 디버깅 : 문제 식별 및 해결React의 키 관련 문제 디버깅 : 문제 식별 및 해결Apr 28, 2025 am 12:17 AM

KeysinReactareCrucialforopiTizingProcess 및 ManingDynamicListSeffecticaly.tospotandfixkey-RelatedIssues : 1) addUniqueKeyStolistemStoavoidwarningsandperformanceIssues, 2) indainiqueIdentifiers, 3) 보장

React의 편도 데이터 바인딩 : 예측 가능한 데이터 흐름 보장React의 편도 데이터 바인딩 : 예측 가능한 데이터 흐름 보장Apr 28, 2025 am 12:05 AM

React의 일원 데이터 바인딩은 데이터가 모성 구성 요소에서 자식 구성 요소로 흐르는 것을 보장합니다. 1) 데이터는 단일로 흐르고 부모 구성 요소의 상태의 변경 사항은 하위 구성 요소로 전달 될 수 있지만, 하위 구성 요소는 부모 구성 요소의 상태에 직접 영향을 줄 수 없습니다. 2)이 방법은 데이터 흐름의 예측 가능성을 향상시키고 디버깅 및 테스트를 단순화합니다. 3) 제어 된 구성 요소 및 컨텍스트를 사용하여 일방 통행 데이터 스트림을 유지하면서 사용자 상호 작용 및 구성 요소 통신을 처리 할 수 ​​있습니다.

React 구성 요소에서 키를 선택하고 관리하기위한 모범 사례React 구성 요소에서 키를 선택하고 관리하기위한 모범 사례Apr 28, 2025 am 12:01 AM

KeysinReactarecrucialforforforforforficient DomesandReciliation.1) 선택 가능한, 독특하고, 평범한 경비, 같은 시설, 2) fornestedlists, useUniqueysateachlevel.3) 피할 수 없음.

React 응용 프로그램에서 usestate ()로 성능을 최적화합니다React 응용 프로그램에서 usestate ()로 성능을 최적화합니다Apr 27, 2025 am 12:22 AM

usestate () iscrucialforoptimizingReactAppPerformancedUeToitSumneR-RendersandUpdates.tooptimize : 1) useeCallBackTomeMoizeFunctionsandPreventUncessaryre-renders.2) EmployEsemEmeMoforCachingExpensiveComputations.3) BreakStateSmarloBlesmormormormormor

컨텍스트와 usestate ()를 사용하여 구성 요소간에 상태를 공유컨텍스트와 usestate ()를 사용하여 구성 요소간에 상태를 공유Apr 27, 2025 am 12:19 AM

컨텍스트와 usestate를 사용하여 대규모 React 응용 프로그램에서 상태 관리를 단순화 할 수 있으므로 상태를 공유하십시오. 1) 프로포 드릴링을 줄이기, 2) 명확한 코드, 3) 글로벌 상태를 쉽게 관리 할 수 ​​있습니다. 그러나 성능 오버 헤드 및 복잡성을 디버깅하는 데주의를 기울이십시오. 컨텍스트 및 최적화 기술의 합리적인 사용은 응용 프로그램의 효율성과 유지 가능성을 향상시킬 수 있습니다.

반응의 가상 DOM 업데이트에 대한 잘못된 키의 영향반응의 가상 DOM 업데이트에 대한 잘못된 키의 영향Apr 27, 2025 am 12:19 AM

잘못된 키를 사용하면 React Applications에서 성능 문제와 예기치 않은 동작이 발생할 수 있습니다. 1) 키는 목록 항목의 고유 식별자로 가상 DOM을 효율적으로 업데이트하는 데 도움이됩니다. 2) 동일하거나 비 유니 키 키를 사용하면 목록 항목이 재정렬되고 구성 요소 상태가 손실됩니다. 3) 안정적이고 고유 한 식별자를 키로 사용하면 성능을 최적화하고 전체 재 렌더링을 피할 수 있습니다. 4) eslint와 같은 도구를 사용하여 키의 정확성을 확인하십시오. 키를 올바르게 사용하면 효율적이고 안정적인 반응 응용 프로그램이 보장됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기