關於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;
    }

}

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM