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

java將文件轉(zhuǎn)成流文件返回給前端詳細(xì)代碼實(shí)例

 更新時(shí)間:2024年07月15日 10:16:05   作者:愛(ài)北的琳兒  
Java編程語(yǔ)言提供了強(qiáng)大的文件處理和壓縮能力,下面這篇文章主要給大家介紹了關(guān)于java將文件轉(zhuǎn)成流文件返回給前端的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

環(huán)境:jdk1.8,springboot2.5.3,項(xiàng)目端口號(hào):9100

1.待轉(zhuǎn)換的文件

一、路徑

二、文件內(nèi)容

2.controller中代碼

package com.example.pdf.controller;

import com.example.pdf.service.GetFileStreamService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

/**
 * @author 
 * @date 2024/3/29 16:28
 * @describe
 */
@RestController
@RequestMapping(value = "test")
public class GetFileStreamController {

    @Resource
    private GetFileStreamService getFileStreamService;
	
	/**
     * 獲取文件流
     */
    @GetMapping("getFileStream")
    public void getFileStream(HttpServletResponse response) {
        getFileStreamService.getFileStream(response);

    }

}

3.service中代碼

package com.example.pdf.service;

import javax.servlet.http.HttpServletResponse;

/**
 * @author 
 * @date 2024/3/29 16:30
 * @describe
 */
public interface GetFileStreamService {

    /**
     * 獲取文件流
     * @param response
     */
    void getFileStream(HttpServletResponse response);
}

4.實(shí)現(xiàn)類(lèi)代碼

package com.example.pdf.service.impl;

import com.example.pdf.service.GetFileStreamService;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;

/**
 * @author
 * @date 2024/3/29 16:31
 * @describe
 */
@Service
public class GetFileStreamServiceImpl implements GetFileStreamService {
    /**
     * 獲取文件流
     */
    @Override
    public void getFileStream(HttpServletResponse response) {
        // 指定文件路徑,獲取file文件
        File file = new File("E:\\Desktop\\temps\\test.pdf");
        try {
            // 將文件轉(zhuǎn)為文件輸入流
            FileInputStream fileInputStream = new FileInputStream(file);
            // 獲取響應(yīng)的輸出流
            OutputStream outputStream = response.getOutputStream();
            // 將文件轉(zhuǎn)成字節(jié)數(shù)組,再將數(shù)組寫(xiě)入響應(yīng)的輸出流
            byte[] buffer = new byte[1024];
            int bytesRead = -1;
            while ((bytesRead = fileInputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            // 刷新輸出流
            outputStream.flush();
            // 關(guān)閉流
            fileInputStream.close();
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

5.postman中訪(fǎng)問(wèn)結(jié)果示例

6.瀏覽器中訪(fǎng)問(wèn)結(jié)果示例

在這里插入圖片描述

總結(jié)  

到此這篇關(guān)于java將文件轉(zhuǎn)成流文件返回給前端的文章就介紹到這了,更多相關(guān)java文件轉(zhuǎn)成流文件返回前端內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中char[]輸出不是內(nèi)存地址的原因詳解

    Java中char[]輸出不是內(nèi)存地址的原因詳解

    這篇文章主要介紹了關(guān)于Java中char[]輸出為什么不是內(nèi)存地址的原因,文中通過(guò)示例代碼介紹的很詳細(xì),需要的朋友們可以參考學(xué)習(xí)。
    2017-03-03
  • Java異常處理之try...catch...finally詳解

    Java異常處理之try...catch...finally詳解

    今天小編就為大家分享一篇關(guān)于Java異常處理之try...catch...finally詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • 解讀Spring框架中常用的設(shè)計(jì)模式

    解讀Spring框架中常用的設(shè)計(jì)模式

    這篇文章主要介紹了解讀Spring框架中常用的設(shè)計(jì)模式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java實(shí)現(xiàn)折半插入排序算法的示例代碼

    Java實(shí)現(xiàn)折半插入排序算法的示例代碼

    折半插入排序(Binary Insertion Sort)是對(duì)插入排序算法的一種改進(jìn)。不斷的依次將元素插入前面已排好序的序列中。本文將利用Java語(yǔ)言實(shí)現(xiàn)這一排序算法,需要的可以參考一下
    2022-08-08
  • Spring Security基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼流程解析

    Spring Security基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼流程解析

    這篇文章主要介紹了Spring Security基于自定義的認(rèn)證提供器實(shí)現(xiàn)圖形驗(yàn)證碼,通過(guò)本文學(xué)習(xí)下AuthenticationProvider接口的類(lèi)關(guān)系圖,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • 最新IntelliJ?IDEA?2022配置?Tomcat?8.5?的詳細(xì)步驟演示

    最新IntelliJ?IDEA?2022配置?Tomcat?8.5?的詳細(xì)步驟演示

    這篇文章主要介紹了IntelliJ?IDEA?2022?詳細(xì)配置?Tomcat?8.5?步驟演示,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • java 偽造http請(qǐng)求ip地址的方法

    java 偽造http請(qǐng)求ip地址的方法

    這篇文章主要介紹了java 偽造http請(qǐng)求ip地址的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Java中volatile關(guān)鍵字的線(xiàn)程的可見(jiàn)性、有序性詳解

    Java中volatile關(guān)鍵字的線(xiàn)程的可見(jiàn)性、有序性詳解

    這篇文章主要介紹了Java中volatile關(guān)鍵字的線(xiàn)程的可見(jiàn)性、有序性詳解,在juc多線(xiàn)程并發(fā)編程中,常常需要關(guān)注線(xiàn)程的"可見(jiàn)性"與"有序性",本文將詳細(xì)介紹這兩部分內(nèi)容,以及volatile關(guān)鍵字的使用,需要的朋友可以參考下
    2024-01-01
  • win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解

    win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解

    這篇文章主要介紹了win10系統(tǒng)64位jdk1.8的下載與安裝教程圖解,本文給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Mybatis如何自動(dòng)生成sql語(yǔ)句

    Mybatis如何自動(dòng)生成sql語(yǔ)句

    這篇文章主要介紹了Mybatis如何自動(dòng)生成sql語(yǔ)句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論

洛南县| 新宁县| 平舆县| 邓州市| 河曲县| 商城县| 虎林市| 武冈市| 太湖县| 大姚县| 宾川县| 铅山县| 弥渡县| 安远县| 民勤县| 伊吾县| 胶州市| 留坝县| 孟津县| 沧州市| 呼玛县| 河源市| 辽阳县| 巴林右旗| 疏勒县| 纳雍县| 宁国市| 汝南县| 怀仁县| 汉川市| 绥芬河市| 南川市| 辉南县| 鄂尔多斯市| 团风县| 江门市| 简阳市| 平凉市| 任丘市| 桂林市| 漯河市|