问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中怎么把文件上传到服务器的指定路径

发布网友 发布时间:2022-04-21 21:02

我来回答

2个回答

热心网友 时间:2022-04-09 18:53

common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件
下面先介绍上传文件到服务器(多文件上传):
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;

public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置允许用户上传文件大小,单位:字节,这里设为2m
fu.setSizeMax(2*1024*1024);
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("c://windows//temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();
//正则匹配,过滤路径取文件名
String regExp=".+////(.+)$";
//过滤掉的文件类型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp<ERRORTYPE.LENGTH;TEMP++){
if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{
//保存上传的文件到指定的目录
//在下文中上传文件至数据库时,将对这里改写
item.write(new File("d://" + m.group(1)));
out.print(name+" "+size+"");
}
catch(Exception e){
out.println(e);
}
}
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}

}
}
现在介绍上传文件到服务器,下面只写出相关代码:
以sql2000为例,表结构如下:
字段名:name filecode
类型: varchar image
数据库插入代码为:PreparedStatement pstmt=conn.prepareStatement("insert into test values(?,?)");
代码如下:
。。。。。。
try{
这段代码如果不去掉,将一同写入到服务器中
//item.write(new File("d://" + m.group(1)));

int byteread=0;
//读取输入流,也就是上传的文件内容
InputStream inStream=item.getInputStream();
pstmt.setString(1,m.group(1));
pstmt.setBinaryStream(2,inStream,(int)size);
pstmt.executeUpdate();
inStream.close();
out.println(name+" "+size+" ");
}
。。。。。。
这样就实现了上传文件至数据库

热心网友 时间:2022-04-09 20:11

付费内容限时免费查看回答℉Y2TSokt12₤ 开启,复猘本消息,开筷sんǒu,振聋发聩

privat

使用freemarker生成的静态文件,统一存储在某个服务器上。本来一开始打算使用ftp实现的,奈何老连接不上,改用jsch。毕竟有现成的就很舒服,在此介绍给大家。

具体实现

引入的pom

\x09ch.ethz.ganymed

\x09ganymed-ssh2

\x09262

\x09com.jcraft

\x09jsch

\x090.1.55

建立实体类

public class ResultEntity {

private String code;

private String message;

private File file;

public ResultEntity(){}

\x09public ResultEntity(String code, String message, File file) {

\x09\x09super();

\x09\x09this.code = code;

\x09\x09this.message = message;

\x09\x09this.file = file;

\x09}

\x09public String getCode() {

\x09\x09return code;

\x09}

\x09public void setCode(String code) {

\x09\x09this.code = code;

\x09}

\x09public String getMessage() {

\x09\x09return message;

\x09}

\x09public void setMessage(String message) {

\x09\x09this.message = message;

\x09}

\x09public File getFile() {

\x09\x09return file;

\x09}

\x09public void setFile(File file) {

\x09\x09this.file = file;

\x09}

}

public class ScpConnectEntity {

privat

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑wifi已禁用怎么打开电脑无线网络禁用了怎么恢复 ...禁用网络在哪重开win7笔记本无线网络被禁用了怎么办 win7网络禁用怎么恢复 windows7网络被禁用怎么恢复 Win7系统本地连接禁用了怎么恢复Win7系统启动本地连接的两种方法图文... 梦见家人去世什么预兆 ...经缝针现在基本痊愈,一个月过去了现在就是小腿还不能贴大腿,最近感... 小腿缝针拆线三个月了表皮长好了里面的肉怎么有点带黑红色还有点白色... 小腿迎面骨掉快深宽都1厘米左右的肉。当时没缝针。已经20天了。天天... 运费和快递费各走 什么科目? 快递费用放什么科目 如何实现java 流式文件上传 用java实现文件的上传与下载 java web怎么实现文件上传到服务器 java web前端上传文件到后台常用的几种方式 java怎么实现上传附件的功能 怎么样用JAVA 实现文件的上传下载? java中怎么把文件上传到服务器的指定路径? java实现多文件上传 java怎么用commons-fileupload实现上传文件 Java 批量大文件上传下载如何实现? JAVA 前端大文件上传如何实现? java如何实现文件上传 手机酷狗音乐在同一步手机同时登录两个帐号应怎样操作 酷狗音乐怎么多台手机同时播放 酷狗音乐会员可以几个人用怎么用 酷狗自己入了会员怎么才可以让另一个手机也入我的... 株洲的CCNA,CCNP,MCSE在哪里学? 听说北京yeslab的老师都是wolf出来的? 系统集成总代与金牌代理的关系? 思科、华三、瑞杰... 网易企业邮箱支持outlook和foxmail吗? 具体怎么设... Java怎样实现跨服务器文件上传 java 实现文件上传到另一台服务器,该怎么解决 如何用java程序实现上传文件到指定的URL地址 java怎么把文件传输到file 如何完成打印机共享 怎么共享另一台电脑打印机 怎么共享本地打印机 家里的数台电脑如何共享打印机? 如何将本地打印机设置为网络打印机共享 本地网络怎么设置共享打印机共享 如何通过物联网实验箱实现传感器数据的采集及显示 如何win7本地打印机共享打印机 物联网实训室具体讲那些 传感器在物联网中的应用有哪些? 物联网实验室都需要什么设备 局域网内如何共享打印机? 物联网工程专业实训报告 RFID实训报告 物联网智能家居系统 实训报告 基于温湿度传感器物联网应用实时数据处理系统开发2