关于Tomcat和Nginx图片上传以及访问的路径问题

Posted chenzhengwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Tomcat和Nginx图片上传以及访问的路径问题相关的知识,希望对你有一定的参考价值。

在实际项目中,我们很多时候需要把图片保存起来,方式有很多种,最简便的方法就是使用第三方的服务,比如阿里云、腾讯、七牛云、网易云信等都提供了图片的镜像存储,能轻松存储图片,我之前写过七牛云的图片存储,有兴趣的同学可以去看一下。

今天我要总结的东西是如何将文件上传到自己的服务器并且访问。

当我们安装好Tomcat和nginx的时候,在其安装目录下面都会有一个根目录,Tomcat的根目录是 /var/www/html/,而Nginx是 /usr/local/nginx/html/,

我们在这两个文件夹下建一个image目录,通过IP地址+/image/图片名的方式就可以直接访问到

    public static final String FEEDBACK_IMAGE_PATH = "http://120.55.56.100/nnuimage/";

    public static final String FEEDBACK_IMAGE_URL = "/var/www/html/nnuimage/";

在这里也简单提供一个上传工具类:

package com.bztech.core.common.utils;

import cn.hutool.core.date.DateUtil;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.UUID;

/**
 * @author chenjian
 *
 * 上传工具
 */

public class UploadUtils {

    /**
     *
     * @param multipartFile 文件
     * @param uploadPathPrefix 文件上传路径
     * @param prefix 文件前缀名
     * @return 文件名
     * @throws IOException
     */
    public static String upload(MultipartFile multipartFile,String uploadPathPrefix,String prefix) throws IOException {
        //文件的后缀名
        String suffix = multipartFile.getOriginalFilename().substring(multipartFile.getOriginalFilename().lastIndexOf("."));

        //存储于数据库中的文件名构造
        String fileName = new StringBuffer()
                //文件名前缀
                .append(prefix)
                .append(UUID.randomUUID())
                .append(DateUtil.format(new Date(), "yyyyMMddHHmmss"))
                .append(suffix)
                .toString();

        //文件上传
        File file = new File(uploadPathPrefix + fileName);

        multipartFile.transferTo(file);

        return fileName;
    }

}

 

 

以上是关于关于Tomcat和Nginx图片上传以及访问的路径问题的主要内容,如果未能解决你的问题,请参考以下文章

关于图片上传到tomcat问题

nginx代理图片上传以及访问

nginx和tomcat访问图片和静态页面的配置方法

Tomcat配置虚拟路径访问容器外的硬盘资源

java项目如何实现上传图片到项目外部,访问时使用相对于域名的相对路径 系统架构大致是jboss+nginx

nginx+ftp搭建图片服务器(Windows Server服务器环境下)