Dans le projet, les fichiers téléchargés sont renommés par sha1. Une fois une image téléchargée, elle est nommée c2e47454e951697811c0531949d4d318.
Le chemin d'accès côté navigateur est : /img/c2e47454e951697811c0531949d4d318. la photo !
Après mon déploiement, je dois utiliser nginx pour le traitement de la mise en cache. Alors, laissez-moi vous demander, comment dois-je gérer cela :
.怎么在nignx里配置映射到真实的 image_save_path/img/c2/e4/7454e951697811c0531949d4d318.[jpg|gif|png]
location ~/img/*$ {
root image_real_path_here;
# 此处不太理解该如何处理图片名称的前四个字符,变成路径形式,
}
S'il vous plaît, aidez-moi beaucoup ! Merci
Tout d'abord, puisque vous l'avez déjà sha1, vous n'avez plus besoin de stocker son nom de suffixe Lors du stockage, remplacez tout par la valeur sha1
.Ensuite, si vous accédez directement à Nginx pour obtenir l'image, vous n'obtiendrez pas le nom de fichier correct, et certaines autres logiques ne sont pas faciles à gérer, alors écrivez simplement un contrôleur pour le gérer :
De cette façon, vous pouvez non seulement utiliser le cache de Nginx, mais également utiliser votre propre code pour effectuer certaines opérations logiques, et vous pouvez également ajouter la fonction de jugement d'autorisation
De plus, la configuration de Nginx n'a pas besoin d'être modifiée