会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132384个问题
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图高级 7936楼
Python 全系列/第一阶段:Python入门/函数和内存分析 7937楼
Python 全系列/第三阶段:Python 网络与并发编程/网络通信 7939楼

源码:

package com.bjsxt;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;

/**
 * 下载文件,
 * 添加头信息,获取资源对象即可下载
 */
public class servletDemo06 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        File file = new File("C:\\Users\\j1781\\Desktop\\JAVA学习\\java尚学堂\\plane.jpg");
        FileInputStream fis = new FileInputStream(file);
        byte[] buff = new byte[fis.available()];
        fis.read(buff);

    //在响应中添加附加信息
        resp.addHeader("Content-Disposition", "attachment;filename" + file.getName());

        OutputStream os = resp.getOutputStream();
        os.write(buff);
        os.flush();
        os.close();
        fis.close();


    }
}

可以下载信息,但是文件名不对,后缀不对,是图片可以用画图工具打开, 说明传输没有问题

下载就是这样的文件, 文件名是访问的URI名image.png

JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 7942楼

image.png

JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 7943楼
JAVA 全系列/第九阶段:权限控制与安全认证/Spring Security(旧) 7944楼
Python 全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 7947楼

# 创建broker1 master
docker run -d -p 11000:10911 -p 11001:10909 --name rmqbroker-a-m --link rmqserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m" -v /usr/local/rocketmq-4.9.3/conf/2m-2s-async/broker-a.properties:/etc/rocketmq/broker.conf foxiswho/rocketmq:broker-4.7.0
# 创建broker2 master
docker run -d -p 11002:10911 -p 11003:10909 --name rmqbroker-b-m --link rmqserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m" -v /usr/local/rocketmq-4.9.3/conf/2m-2s-async/broker-b.properties:/etc/rocketmq/broker.conf foxiswho/rocketmq:broker-4.7.0
# 创建broker1 slave
docker run -d -p 11004:10911 -p 11005:10909 --name rmqbroker-a-s --link rmqserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m" -v /usr/local/rocketmq-4.9.3/conf/2m-2s-async/broker-a-s.properties:/etc/rocketmq/broker.conf foxiswho/rocketmq:broker-4.7.0
# 创建broker2 slave
docker run -d -p 11006:10911 -p 11007:10909 --name rmqbroker-b-s --link rmqserver:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m" -v /usr/local/rocketmq-4.9.3/conf/2m-2s-async/broker-b-s.properties:/etc/rocketmq/broker.conf foxiswho/rocketmq:broker-4.7.0
# 添加插件
docker run --name rmqconsole --link rmqserver:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqserver:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8180:8080 -t styletang/rocketmq-console-ng

访问本机ip:8180 点击 cluster可以看到broker集群状态

用docker方式比较方便这里分享一下


JAVA 全系列/第十一阶段:消息中间件与高并发处理/RocketMQ(旧) 7948楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/常用类 7949楼
JAVA 全系列/第二十一阶段:分布式医疗云平台/系统管理前后端开发(旧) 7950楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637