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

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

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

環(huán)境:jdk1.8,springboot2.5.3,項目端口號: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.實現(xiàn)類代碼

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ù)組寫入響應(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中訪問結(jié)果示例

6.瀏覽器中訪問結(jié)果示例

在這里插入圖片描述

總結(jié)  

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    這篇文章主要介紹了Spring Security基于自定義的認(rèn)證提供器實現(xiàn)圖形驗證碼,通過本文學(xué)習(xí)下AuthenticationProvider接口的類關(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?步驟演示,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • java 偽造http請求ip地址的方法

    java 偽造http請求ip地址的方法

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

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

    這篇文章主要介紹了Java中volatile關(guān)鍵字的線程的可見性、有序性詳解,在juc多線程并發(fā)編程中,常常需要關(guā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ì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Mybatis如何自動生成sql語句

    Mybatis如何自動生成sql語句

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

最新評論

玉门市| 应城市| 伊金霍洛旗| 明水县| 兴安盟| 民权县| 塔城市| 扶余县| 淮滨县| 日土县| 东海县| 宁阳县| 响水县| 泗水县| 江北区| 彰化市| 颍上县| 平原县| 泉州市| 额济纳旗| 曲靖市| 白银市| 常熟市| 海安县| 开鲁县| 景泰县| 会泽县| 吉水县| 平谷区| 中牟县| 巴彦淖尔市| 封开县| 东乡县| 苏尼特左旗| 综艺| 大邑县| 奉化市| 阿勒泰市| 晴隆县| 晋江市| 道真|