Comment écrire le chemin racine du téléchargement d'image nodejs

PHPz
Libérer: 2023-04-05 10:41:17
original
700 Les gens l'ont consulté

Avec la popularisation de l'Internet mobile et des applications Web, les images, en tant que support important pour la transmission d'informations, sont largement utilisées dans divers scénarios d'application, et leur téléchargement et leur affichage sont une exigence courante. Dans le développement Web, Node.js, en tant qu'environnement d'exécution léger côté serveur, fournit une méthode de développement rapide et efficace. Cet article présentera le téléchargement d'images et la configuration du chemin racine dans Node.js.

1. Téléchargement d'images Node.js

Pour implémenter le téléchargement d'images dans Node.js, vous pouvez utiliser le module tiers Express-fileupload. Il est très pratique d'utiliser ce module. , puis configurez-le en conséquence dans le code Can.

Installez le module Express-fileupload :

npm install --save express-fileupload
Copier après la connexion

Puis référencez le module dans le code :

const fileUpload = require('express-fileupload');
Copier après la connexion

Utilisez le module et configurez le chemin de téléchargement, la taille limite, etc. :

app.use(fileUpload({
    limits: { fileSize: 50 * 1024 * 1024 }, //限制文件大小
    useTempFiles: true,
    tempFileDir: '/tmp/',
    uploadTimeout: 120000, //上传时间
    abortOnLimit:true,
    createParentPath:true //创建父级路径
}));
Copier après la connexion

Dans le code ci-dessus, limites limite le téléchargement. La taille maximale d'un fichier est de 50 Mo. useTempFiles signifie utiliser un dossier temporaire pour stocker les fichiers téléchargés. tempFileDir signifie spécifier un chemin de dossier temporaire. code>uploadTimeout signifie l'heure de téléchargement, abortOnLimit indique s'il faut terminer le téléchargement lorsque la limite de taille de fichier est dépassée, et createParentPath indique s'il faut créer un chemin parent. 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!');
    });
});
Copier après la connexion

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

二、Node.js 根路径配置

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

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

app.use(express.static(__dirname + '/public'));
Copier après la connexion

以上代码中,公共文件的目录为 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!');
});
Copier après la connexion

以上代码中,UPLOAD_PATH

Traitez la demande de téléchargement dans l'itinéraire, utilisez la méthode moveTo pour déplacer le fichier téléchargé vers le répertoire spécifié et terminez l'opération de téléchargement de fichier.

rrreee

Dans le code ci-dessus, l'objet file représente le fichier téléchargé. Utilisez la méthode mv pour déplacer le fichier vers le répertoire spécifié et renommer le fichier.

2. Configuration du chemin racine de Node.js🎜🎜Dans Node.js, vous pouvez utiliser la variable globale __dirname pour obtenir le chemin complet du répertoire où se trouve le script en cours d'exécution. La variable est utilisée comme chemin racine pour traiter les fichiers. Vous pouvez utiliser l'épissage de chemin pour écrire des chemins relatifs. 🎜🎜Par exemple, lors de la configuration d'un répertoire de fichiers statiques dans le framework Express, le chemin racine est généralement utilisé comme préfixe du répertoire de fichiers statiques pour éviter les erreurs de chemin. 🎜rrreee🎜Dans le code ci-dessus, le répertoire du fichier public est public. Utiliser __dirname pour séparer le chemin relatif du répertoire peut garantir que le chemin correct est lu lorsque l'application démarre. 🎜🎜3. Comment écrire le chemin racine du téléchargement d'image Node.js🎜🎜Lors de la mise en œuvre du téléchargement d'image Node.js, vous devez généralement spécifier le chemin de stockage de l'image téléchargée. Pour éviter les erreurs de chemin, vous pouvez utiliser le chemin racine plus le chemin relatif pour l'épissage du chemin. 🎜🎜Par exemple, pour configurer le chemin de téléchargement de l'image vers le dossier uploads sous le chemin racine, vous pouvez écrire le code suivant : 🎜rrreee🎜Dans le code ci-dessus, UPLOAD_PATH représente le chemin de stockage de l'image téléchargée. Utilisez le chemin racine plus le chemin relatif pour l'épissage afin d'obtenir un épissage de chemin correct. 🎜🎜Résumé🎜🎜Le téléchargement d'images et la configuration du chemin racine sont tous deux très importants dans le développement de Node.js. Une configuration et une mise en œuvre correctes peuvent réduire les problèmes tels que les erreurs de chemin et les échecs de téléchargement pendant le développement. Cet article présente les étapes d'utilisation du module Express-fileupload pour implémenter le téléchargement d'images et explique comment configurer correctement le chemin racine dans Node.js. Je souhaite que les lecteurs puissent l'utiliser avec succès dans le développement réel. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal