问答文章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
吉林省内户口迁移有什么规定? 吉林户口迁移流程是什么 吉林省内户口迁移程序是什么? 德国留学银行开户经验 小脑萎缩还能恢复吗 做紫菜包饭都需要什么工具呢 大家有好的网店没 推荐一个 能一次买全... 会计所说的产值是什么 会计上生产总值是什么 企业生产总值是什么 在word的编辑状态下如何解除Word文档限制编辑 如何实现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