网站首页 > 文章中心 > 其它

java代码文件上传

作者:小编 更新时间:2023-08-17 14:07:11 浏览量:391人看过

java如何实现文件上传

public static int transFile(InputStream in, OutputStream out, int fileSize) {

java代码文件上传-图1

int receiveLen = 0;

final int bufSize = 1000;

try {

byte[] buf = new byte[bufSize];

int len = 0;

while(fileSize - receiveLen bufSize)

{

len = in.read(buf);

out.write(buf, 0, len);

out.flush();

receiveLen += len;

java代码文件上传-图2

System.out.println(len);

}

while(receiveLen fileSize)

len = in.read(buf, 0, fileSize - receiveLen);

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

return receiveLen;

这个方法从InputStream中读取内容,写到OutputStream中.

那么发送文件方,InputStream就是FileInputStream,OutputStream就是Socket.getOutputStream.

接受文件方,InputStream就是Socket.getInputStream,OutputStream就是FileOutputStream.

就OK了. 至于存到数据库里嘛,Oracle里用Blob.搜索一下,也是一样的.从Blob能获取一个输出流.

java上传文件怎么实现的

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 {

//Process the HTTP Post request

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(CONTENT_TYPE);

PrintWriter out=response.getWriter();

DiskFileUpload fu = new DiskFileUpload();

// 设置最多只允许在内存中存储的数据,单位:字节

// 设置一旦文件大小超过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;tempERRORTYPE.LENGTH;TEMP++){

if (m.group(1).endsWith(errorType[temp])){

throw new IOException(name+": wrong type");

try{

//保存上传的文件到指定的目录

java代码文件上传-图3

//在下文中上传文件至数据库时,将对这里改写

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){

catch (FileUploadException e){

现在介绍上传文件到服务器,下面只写出相关代码:

字段名:name ? ?filecode

类型: varchar ? ? image

数据库插入代码为:PreparedStatement pstmt=conn.prepareStatement("insert into test values(?,?)");

代码如下:

......

这段代码如果不去掉,将一同写入到服务器中

//item.write(new File("d://" + m.group(1)));

int byteread=0;

//读取输入流,也就是上传的文件内容

InputStream inStream=item.getInputStream(); ? ? ? ? ? ?

pstmt.setString(1,m.group(1));

pstmt.executeUpdate();

inStream.close();

out.println(name+" ?"+size+" ");

这样就实现了上传文件至数据库

java 文件上传的代码,尽量详细一点...

// 这是我写的一个方法,里面只需要传两个参数就OK了,在任何地方调用此方法都可以文件上传

/**

* 上传文件

* @param file待上传的文件

* @param storePath待存储的路径(该路径还包括文件名)

*/

public void uploadFormFile(FormFile file,String storePath)throws Exception{

// 开始上传

InputStream is =null;

OutputStream os =null;

is = file.getInputStream();

os = new FileOutputStream(storePath);

int bytes = 0;

os.write(buffer, 0, bytes);

os.close();

is.close();

} catch (Exception e) {

throw e;

finally{

if(os!=null){

os=null;

}catch(Exception e1){

;

if(is!=null){

is=null;

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

文件从本地到服务器的功能,其实是为了解决目前浏览器不支持获取本地文件全路径.不得已而想到上传到服务器的固定目录,从而方便项目获取文件,进而使程序支持EXCEL批量导入数据.

java中文件上传到服务器的指定路径的代码:

在前台界面中输入:

form method="post" enctype="multipart/form-data" ?action="../manage/excelImport.do"

请选文件:input type="file" ?name="excelFile"

input type="submit" value="导入" onclick="return impExcel();"/

/form

action中获取前台传来数据并保存

* excel 导入文件

* @return

* @throws IOException

@RequestMapping("/usermanager/excelImport.do")

public String excelImport(

String filePath,

MultipartFile ?excelFile,HttpServletRequest request) throws IOException{

log.info("action:{} Method:{} start","usermanager","excelImport" );

if (excelFile != null){

String filename=excelFile.getOriginalFilename();

log.info("action:{} Method:{} end","usermanager","excelImport" );

return "";

* 将MultipartFile转化为file并保存到服务器上的某地

public void SaveFileFromInputStream(InputStream stream,String path,String savefile) throws IOException

{ ? ?

FileOutputStream fs=new FileOutputStream( path + "/"+ savefile);

System.out.println("------------"+path + "/"+ savefile);

int bytesum = 0;

int byteread = 0;

while ((byteread=stream.read(buffer))!=-1)

bytesum+=byteread;

fs.write(buffer,0,byteread);

fs.flush();

fs.close();

stream.close();

Java中fileupload上传文件的代码

private static DiskFileItemFactory factory;//获得磁盘文件条目工厂

private static ServletFileUpload upload;//文件上传处理类

factory = new DiskFileItemFactory(); //获得磁盘文件条目工厂

factory.setRepository(new File(config.getCache())); //创建缓存工厂

upload = new ServletFileUpload(factory); //高水平的API文件上传处理

ListFileItem list = upload.parseRequest(request);

for(FileItem item : list){

String fieldName = item.getFieldName(); //获取表单的属性名字

String fileName = item.getName() ; //获取文件名

if(item.isFormField()){//如果获取的 表单信息是普通的 文本 信息

}else{

File file = new File("d://test.txt");

item.write(file);

以上就是土嘎嘎小编为大家整理的java代码文件上传相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章