【Java-001--上传文件或图片到服务器】

Docker 下 Java 文件上传服务三部曲之一:准备环境 本篇概览 《Docker 下 Java 文件上传服务三部曲》的主要内容是 Java 的文件上传服务实战,由三篇文章组成,内容分别如下: 准备工作(即本章),包括上传文件的客户端开发、创建 Tomcat 容器(支持在线部署),安装 wireshark; 服务端编码,创建三个应用,实战 SpringMVC、Apache fileupload 库,SpringBoot 三种场景下的文件上传服务; wireshark 抓包,分析文件上传服务过程中的传输详情; 实战环境 整个环 阅读详情

此文章只适合 小白,大神勿点。

之前写过文件上传的功能,后来接触到另一个写法,感觉好简单,记录一下。

文件上传和图片上传是一样的,只是返回信息写了 img 标签。

首先是 文件上传的 前段页面:

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件上传</title>
</head>
<body>
	<form action="upload_File_x.jsp" method="post" enctype="multipart/form-data">
		文件上传:<input type="file" name="fileName" id="fileId">			   
			   <input type="submit" value="上传">
	</form>
</body>
</html>

然后是 处理的代码,用的是 Java脚本,不用写 class和 各种方法,好舒服:

<%@page import="java.awt.event.ItemEvent"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItem"%>
<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.io.*, org.apache.commons.fileupload.*"%>

<%@ page language="java" pageEncoding="UTF-8"%>

<%		// 实现了文件上传功能,将本地文件上传到 服务器的某个目录下,暂时没有保存 原文件名称的功能
boolean flag = false;
boolean isMultipart = DiskFileUpload.isMultipartContent(request);
if(isMultipart ){
	
	DiskFileUpload upload = new DiskFileUpload();
	upload.setSizeMax(5 * 1024 *1024);
	FileItem item =  (FileItem)upload.parseRequest(request).get(0);
	
	if(!item.isFormField()){
		String path = request.getRealPath("/");
		String filePath = path + "/data/test0035";		
		File f = new File(filePath);
		out.println("create succ");
		if(!f.exists()){ f.createNewFile(); }
		item.write(f);		
		flag = true;
	}
}
if(flag){
	out.println("<p2>文件上传成功!</p2>");
}else{
	out.println("<p2>文件上传失败!</p2>");
}

%>


 

但是看不到上传的文件。可以通过 上传图片来看看,图片是可以显示的。

图片上传:

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>图片上传显示</title>
</head>
<body>
	<form action="upload_Image_x.jsp" method="POST" enctype="multipart/form-data">	
		图片上传:<input type="file" name="fileName">
			<input type="submit" value="上传">
	</form>
</body>
</html>

图片上传的处理页面:

<%@page import="java.awt.event.ItemEvent"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItem"%>
<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.io.*, org.apache.commons.fileupload.*"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<% 
boolean flag = false;
boolean isMultipart = DiskFileUpload.isMultipartContent(request);
if(isMultipart){
	DiskFileUpload upload = new DiskFileUpload();
	upload.setSizeMax(5 * 1024 * 1024);
	FileItem item = (FileItem)upload.parseRequest(request).get(0);
	if(!item.isFormField()){
		String path = request.getRealPath("/");
		String imagePath = path + "/data/image001.jpg";
		File f = new File(imagePath);
		if(!f.exists()){ f.createNewFile(); }
		item.write(f);
		flag = true;
	}
}
if(flag){
	out.println("<img src='../data/image001.jpg'/>");
}else{
	out.println("Failure");
}

%>

效果展示链接:访问我的外网:xxxx

 

 

react-window 大数据列表和表格数据渲染组件之虚拟滚动 ReactWindow是一个高性能的React虚拟滚动组件库,专门用于高效渲染大型列表和表格数据。它通过“窗口化”技术,仅渲染用户可见区域的内容,大幅提升性能并减少内存消耗。主要特点包括:支持固定/可变大小列表项、多种布局类型(垂直/水平/网格)、轻量级设计(不足5KB)以及平滑的滚动体验。相比传统渲染方式,它能轻松处理成千上万条数据,并提供自动滚动、自适应容器大小等高级功能。与同类库相比,ReactWindow具有更简洁的API和更优的性能表现,是处理大数据量渲染场景的理想选择。 阅读详情

相关推荐

Python速成指南:进阶篇

欢迎来到Python速成指南的进阶篇。如果你已经完成了基础篇的学习(Python速成指南:从零开始的编程之旅-优快云博客),并且对Python的基本概念有了扎实的理解,那么你已经为进入更深层次的Python世界做好了准备。在这个进阶篇中,我们将深入探讨Python的高级特性,并着重于如何在实际工作中应用这些知识。深入理解Python的高级特性掌握在实际项目中常用的技巧和最佳实践提高代码质量和性能了解Python在各个领域的专业应用让我们开始这段激动人心的Python进阶之旅吧!

weixin_44067082的博客 2337

java上传图片到服务器并查看,了解一下?

@WebServlet("/UploadServlet.do") public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest...

a78451的博客 225

【论文+CAD图纸】光储充一体化微电网设计

近些年来,我国的经济发展迅速,对能源的需求不断增长,也加重了对环境的破坏,违背了我国的可持续发展战略。所以迫切需要寻找新型能源。由于太阳能在使用时不会产生污染,所以太阳能逐渐受到人们的重视。我国的太阳能资源丰富,具有的开发利用潜力。特别是近些年“光储充”一体化充电站为高科技绿色充电模式,“以光养桩”使光伏、储能、智能充电协同,智能微电网与公共电网互动,本设计对探索清洁可再生能源在民用场合的应用,有着重大的理论和工程价值。本文综述国内外相关光伏发电的成果和发展现状;

weixin_761237174的博客 925

Java实现图片上传到服务器,并把上传的图片读取出来

http://blog.youkuaiyun.com/weixin_36380516/article/details/58594664

carl_jiang的专栏 3287

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 801

【头歌】链栈的基本操作及应用

另外,在算法的开始和结束时,栈都应该是空的,所以匹配到最后还要判断栈是否为空,若空,则说明匹配成功,返回1。其中表达式只包含三种括号,花括号{}、中括号[]、圆括号(),即它仅由 (、)、[、]、{、}六个字符组成。预期输出: 栈中元素依次为:12 47 5 8 6 92 45 63 75 38 4 29 弹出的栈顶元素 e=29 栈空否:0(1:空 0:否) 栈顶元素 e=4 栈的长度为11 清空栈后,栈空否:1(1:空 0:否)// 若栈不空,则用e返回S的栈顶元素,并返回OK;

qq_39977056的博客 4383

java上传的图片打不开_JAVA上传图片,为什么图片打不开?要等很久

@RequestMapping(value="/uploadImage",method = RequestMethod.POST)public void uploadImage(@RequestParam("file") MultipartFile file,PrintWriter pw,ModelMap modelMap,HttpServletRequest req) throws IOExce...

weixin_33785291的博客 689

【即插即用模块】注意力篇 | MICCAI 2023 | MFE:多尺度特征提取,告别固定感受野,猛涨2个点!

本文提出一种用于低分辨率乳腺癌病理图像超分辨率与分类的网络SHISRCNet。针对现有方法处理低分辨率图像效果差、感受野固定等问题,设计了多特征提取模块(MFE),通过多速率空洞卷积覆盖全尺度感受野(局部到全局),结合递进残差连接和动态权重融合机制,实现自适应多尺度特征增强。实验表明,该模块在超分辨率任务中PSNR提升近2个点,分类准确率显著提高。代码提供详细注释,支持即插即用,适用于各类多尺度视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 206

base64图片压缩上传

图片上传

lzc255的博客 1285

电机瞬态分析基础(2):理想电机的基本假设和正方向规定

电机瞬态分析基础之理想电机假设条件和正方向规定

weixin_45670943的博客 1145

YoloV10改进策略:卷积篇|基于PConv的二次创新|附结构图|性能和精度得到大幅度提高(独家原创)

在PConv的基础上做了二次创新,创新后的模型不仅在精度和速度上有了质的提升,还可以支持Stride为2的降采样。改进方法简单高效,需要发论文的同学不要错过!

m0_47867638的博客 1094

七牛云存储:通过SDK上传图片

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m...

Leon_Jinhai_Sun的博客 437

解析AI人工智能领域AI芯片的散热技术

当你用ChatGPT写代码、用AI生成高清图片时,背后的AI芯片可能正在“发高烧”——全球TOP500超算的平均功耗已突破10兆瓦,单颗GPU的峰值功耗超过700W(相当于3台家用空调同时运行)。本文将聚焦AI芯片的散热技术,覆盖从基础原理到前沿方案的全链条解析,帮助读者理解“散热为什么比算力更重要”。

AIGC应用创新大全的博客 935

基于阿里云 OSS 的文件上传入门教程

通过以上步骤,我们完成了基于阿里云 OSS 的文件上传入门程序的编写,能够将本地文件成功上传至阿里云 OSS,并可通过提供的 URL 访问上传的文件。后续可根据实际需求将此代码集成到自己的程序中,完善文件上传接口。

m0_57836225的博客 1240

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

android 上传图片到web服务器,php负责接收

Android上传文件到服务器,通常采用构造http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来 接收要传输的文件。使用JavaServlet来接收文件的方法比较常见,在这里给大家介绍一个简单的服务器端使用PHP语言来接收文件的例子。 服务器端代码比较简单,接收传输过来的文件: 1

sundonghui的专栏 3206

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

多用户图片上传代码

package com.neutron.network.tcp.thread; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Sock

neutron129的博客 732

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

安卓上传文件到服务器源码 - 云代码

完整源码:http://yuncode.net/code/c_5063ece6eba2d94     客户端   001 package com.example.testandroid; 002    003 import java.io.DataOutputStream;

源码 - http://yuncode.net/guojianfeng 2255

SpringMVC之独立图片服务器和FTP

一、单服务器 场景:直接在工程下面新建一个图片文件夹,比如:/images/,然后所有的图片都上传到这个文件夹 下。 1.1、图片文件夹在项目内部(包含关系) 这种存储图片的方式,是初学者首先接触到的方式,因为简单易操作,也确实能到达目的。但是存在 一个问题,就是在进行项目版本升级的时候,有可能会直接将之前的项目删掉,重新部署新版本的项 目,这样就会导致老版本项目下的图片全部被删除。所以,将...

weixin_44613839的博客 678

<img>标签,显示服务器图片

标签,利用io流从服务器向浏览器写入图片 前提: D:/DevelopmentTool/apache-tomcat-8.5.14/webapps/pic/服务器该文件夹下存放了名字为001.jpg 的图片 HTML页面: img style="width: 550px" src="project/manager/picture?name=001.png&ti

一个很酷的人 4362

002 springboot的文件上传功能

文件上传

zzq的博客 541

java 给图片打水印 Plus

    之前写了一篇文章,java 给图片打水印,虽然呢,功能是实现了,但是,代码结构混乱、效率低下,还使用到了SUN包下的东西,到服务器Maven打包的时候都打包不了,部门老大看了都看不下去了,忍不住亲自操刀斧正了一番,斧正后的就称呼plus版吧,我测试了下效率,原版是200+ms一张图片,plus版是10+ms,实在是汗颜啊。。。。。。。这里把plus版的贴出来,以后敲代码多借鉴下面的代码思想...

卖克的专栏 2637

Hutool多部分表单:文件上传处理方案

还在为Java文件上传的复杂实现而头疼吗?Hutool提供了简洁高效的多部分表单(Multipart Form)处理方案,让你轻松应对各种文件上传场景。本文将深入解析Hutool的多部分表单处理机制,并提供完整的实战指南。 ## ???? 读完本文你将获得 - ✅ Hutool多部分表单的核心组件解析 - ✅ 文件上传的完整实现流程 - ✅ 上传配置的精细控制方法 - ✅ 服务器端文件接收处理...

gitblog_00229的博客 1134

42.0、springboot-springboot 整合 layui 实现 图片上传

42.0、springboot-springboot 整合 layui 实现图片上传 导入以下pom依赖: <!--springboot启动类--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </depe.

m0_52433668的博客 896

怎么用nginx搭建文件服务器,使用nginx搭建简单文件服务器

最近再做一个博客,本想使用fastdfs标准的文件存储服务器,但考虑到资源占用问题,且使用nginx比较快速,且效果不差。于是采用ngixn搭建。nginx搭建文件服务器,本质上就是nginx的静态文件访问配置。安装nginxmac: brew install nginxwindows : 直接下载解压就行。配置文件路径对nginx.conf进行配置,(mac的brew安装后配置文件在/usr/l...

weixin_30722591的博客 4024

Java图片上传代码

 001 package com.bj95ol.test; 002     003 import java.io.BufferedReader; 004 import java.io.File; 005 import jav

qypengs的专栏 870
上一篇: 各个版本Microsoft Visual C++运行库下载
下一篇: 【Tomcat】以目录格式显示文件
jy0921_
博客等级 码龄11年 329粉丝 193原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值