最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot實(shí)現(xiàn)文件上傳服務(wù)器全過(guò)程

 更新時(shí)間:2025年12月01日 09:46:35   作者:MrDJun  
該文章詳細(xì)描述了如何純手工實(shí)現(xiàn)一個(gè)SpringBoot文件上傳功能,包括引入必要的依賴、創(chuàng)建實(shí)體類、編寫服務(wù)層代碼、實(shí)現(xiàn)文件上傳邏輯以及使用Controller進(jìn)行測(cè)試,通過(guò)自定義文件路徑和將文件名修改為UUID,有效避免了文件名重復(fù)的問(wèn)題

無(wú)需任何工具類,純手工實(shí)現(xiàn)SpringBoot上傳服務(wù)器。上傳文件之后自定義路徑并把修改文件名為 UUID ,避免文件名重復(fù)。

下面我詳細(xì)的把代碼給出,照著我的詳細(xì)流程,定能解決你的問(wèn)題。

1、引入swagger 和 lombok

<!-- swagger -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
        </dependency>

2、創(chuàng)建上傳信息的實(shí)體類

@ApiModel(description = "處理后上傳文件的信息")
@Data
@NoArgsConstructor
public class UploadInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "上傳結(jié)果")
    private String result;

    @ApiModelProperty(value = "初始文件名")
    private String beginFileName;

    @ApiModelProperty(value = "最終上傳文件名")
    private String lastFileName;

    @ApiModelProperty(value = "文件類型")
    private String FileType;

    @ApiModelProperty(value = "文件大小")
    private String fileSize;

    @ApiModelProperty(value = "文件上傳的地址")
    private String uploadUrl;

}

3、在service層新建 UploadService

/**
     * 上傳文件接口
     *
     * @param file  上傳的文件
     * @param uploadFilePath 上傳到服務(wù)器的路徑
     * @return 上傳并處理后的信息
     * @throws Exception 上傳異常
     */
    UploadInfo upload(MultipartFile file, String uploadFilePath) throws Exception;

4、新建一個(gè)UploadServiceImpl

這是上面哪個(gè)Service的實(shí)現(xiàn)類。

@Service
public class UploadServiceImpl implements UploadService {

    @Override
    public UploadInfo upload(MultipartFile file, String uploadFilePath) throws Exception {
        if (file.isEmpty())
            return null;
        UploadInfo uploadInfo = new UploadInfo();
        String originalFilename;
        String fileName;
        originalFilename = file.getOriginalFilename();
        fileName = UUID.randomUUID().toString() + file.getOriginalFilename();
        String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
        long fileSize = file.getSize();
        File packageFile = new File(uploadFilePath);
        if (!packageFile.exists()) {
            packageFile.mkdir();
        }
        File targetFile = new File(uploadFilePath + "/" + fileName);
        file.transferTo(targetFile);
        uploadInfo.setBeginFileName(originalFilename);
        uploadInfo.setLastFileName(fileName);
        uploadInfo.setFileType(fileType);
        uploadInfo.setFileSize(Long.toString(fileSize));
        uploadInfo.setUploadUrl(targetFile.toString());
        uploadInfo.setResult("上傳成功");
        return uploadInfo;
    }
}

5、新建Controller測(cè)試

    @Autowired
    private UploadService uploadService;
    private final static String UPLOAD_PATH = "C:/file";
    
    @ApiOperation(value = "上傳文件測(cè)試",notes = "請(qǐng)記得上傳時(shí)加上參數(shù) file !")
    @PostMapping(value = "/uc/uploadFile",consumes= MediaType.MULTIPART_FORM_DATA_VALUE)
    public UploadInfo uploadTest(@RequestParam("file") MultipartFile file){
        UploadInfo uploadInfo = null;
        try{
            uploadInfo = uploadService.upload(file,UPLOAD_PATH);
        }catch (Exception e){
            System.out.println(e.toString());
        }
        return uploadInfo;
    }

PostMan測(cè)試結(jié)果:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

祁东县| 图木舒克市| 德令哈市| 临湘市| 溧阳市| 通州区| 石柱| 凌海市| 瓮安县| 靖西县| 太白县| 广饶县| 凭祥市| 封开县| 青河县| 阿勒泰市| 通化县| 扬州市| 涟水县| 山阴县| 正镶白旗| 临城县| 峨眉山市| 宜君县| 郁南县| 龙里县| 资溪县| 顺昌县| 密云县| 涞水县| 恩平市| 红桥区| 龙陵县| 长汀县| 金堂县| 连云港市| 海淀区| 胶南市| 丹江口市| 桓台县| 池州市|