当前位置:首页 » 文件管理 » java上传文件到本地

java上传文件到本地

发布时间: 2023-05-15 21:33:05

1. java web 文件上传怎么修改上传到本地的目录

1.使用请求的方式,src="请求后台路径",后台以输出流的方式返回文件即可

后台代码:

[java]view plain

  • @RequestMapping("/getimgs")

  • publicvoidgetimg(StringsaveAddress,HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{

  • try{

  • FileInputStreamhFile=newFileInputStream(saveAddress);//以byte流的方式打开文件d:1.gif

  • inti=hFile.available();//得到文件大小

  • bytedata[]=newbyte[i];

  • hFile.read(data);//读数据

  • hFile.close();

  • response.setContentType("image/*");//设置返回的文件类型

  • OutputStreamtoClient=response.getOutputStream();//得到向客户端输出二进制数据的对象

  • toClient.write(data);//输出数据

  • toClient.close();

  • }

  • catch(IOExceptione)//错误处理

  • {

  • PrintWritertoClient=response.getWriter();//得到向客户端输出文本的对象

  • response.setContentType("text/html;charset=gb2312");

  • toClient.write("无法打开图片!");

  • toClient.close();

  • }

  • }

2. java上传文件代码

public class FileUpLoad extends ActionSupport{

//"多文件上传就用list就可以了private List<File> file;"
private File file;
//上传文本的name

public File getFile() {

return file;

}

public void setFile(File file) {

this.file = file;

}

private String fileContentType;
//上传的文件类型。

public String getFileContentType() {

return fileContentType;

}

public void setFileContentType(String fileContentType) {

this.fileContentType = fileContentType;
}

//获取上传文件的名称
private String fileFileName;

public String getFileFileName() {

return fileFileName;

}

public void setFileFileName(String fileFileName) {

this.fileFileName = fileFileName;

}

public String upload() throws Exception

{
//获取文件上传路径
String root=ServletActionContext.getRequest().getRealPath("/upload");

InputStream is=new FileInputStream(file);

String.substring(fileFileName.indexOf("."));//截取上传文件的后缀。便于新定义名称。.jpg

System.out.println(name);

File descFile=new File(root,新定义的文件名称+fileFileName.indexOf("."));

OutputStream os=new FileOutputStream(descFile);

byte[] buffer=new byte[1024];
int length=0;

while(-1!=(length=(is.read(buffer))))

{

os.write(buffer, 0, length);

}

is.close();

os.close();

return SUCCESS;

}

}

3. java实现文件上传,代码尽量简洁~~~~~·

普通方法实现任意上传?本地文件?本地文件直接用FileInputStream即可。
jspsmartupload需要在提交的form表单中添加一个属性,具体内容忘了=。=

4. java实现文件的上传和下载

用输出流 接受 一个下载地址的网络流
然后将这个输出流 保存到本地一个文件 后缀与下载地址的后缀相同··

上传的话 将某个文件流 转成字节流 上传到某个webservice方法里

-------要代码来代码

URL url=new URL("http://www..com/1.rar");
URLConnection uc=url.openConnection();
InputStream in=uc.getInputStream();
BufferedInputStream bis=new BufferedInputStream(in);
FileOutputStream ft=new FileOutputStream("E://1.rar");

这是下载 上传太麻烦就不给写了

5. 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();

String a=request.getRealPath("u/cms/www/201509");

SaveFileFromInputStream(excelFile.getInputStream(),request.getRealPath("u/cms/www/201509"),filename);//保存到服激陆郑务器的路径

}

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

byte[] buffer =new byte[1024*1024];

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();

}

6. java上传到指定文件夹问题

servlet类
package org.whatisjava.servlet;
import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet {

public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
// 用于设定诸如缓存之类的参数,和性能相关
// 此处用默认设定
DiskFileItemFactory dfif = new DiskFileItemFactory();
// 解析表单中的数据
ServletFileUpload upload = new ServletFileUpload(dfif);
upload.setSizeMax(10 * 1024 * 1024); // 允许上传的最大值

List list = upload.parseRequest(request); // 开始解析request对象中的表单数据
// list中是FileItem对象
// 一个FileItem用于封装一个上传的文件数据
if (list.size() >= 1) {
FileItem item = (FileItem) list.get(0);
// 获得上文件的路径名
String name = item.getName();
name = name.substring(name.lastIndexOf("\\") + 1);

// 把上传的文件数据写入本地文(服务器端)件文件夹的名字为upload
String path = "upload";

// Sun的标准,服务器实现的API
ServletContext ctx = this.getServletContext();

path = ctx.getRealPath(path);
File file = new File(path);
if(!file.exists()){
System.out.println("创建文件夹");
file.mkdir();
}

System.out.println(path);
System.out.println(name);
//将文件放到指定的地方
item.write(new File(path, name));
response.sendRedirect("upload_form.jsp");
}
} catch (Exception e) {
throw new ServletException("file upload error!", e);
}
}

}

页面<form action="upload" method="post" enctype="multipart/form-data">
<table cellpadding="0" cellspacing="0" border="0"
class="form_table">
<tr>
<td valign="middle" align="right">
上传
</td>
<td valign="middle" align="left">
<input type="file" class="inputgri" name="file1" />
</td>
</tr>
</table>
<p>
<input type="submit" class="button" value="提交 »" />
</p>
</form>

web.xml

<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>
org.whatisjava.servlet.UploadServlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>

jar包
commons-io-1.3.2.jar
commons-fileupload-1.2.1.jar
commons-fileupload-1.2.1-javadoc.jar
commons-fileupload-1.2.1-sources.jar

7. java文件上传

不可能不通过后台滴,但是可以通过ajax将路径传到后台,让后台自己做i上传。
或者让后台直接调用ftp向服务器端上传。
只是单纯用js还是不行的
而且你想直接获取本地固定路径的文件,是写死的么?
那么直接向后台发送一个请求到后台,开个线程不就自己上传了么?
还用js干嘛啊

8. Java文件上传的几种方式

1、通过Servlet类上传
2、通过Struts框架实现上传
ITJOB学到两种方式

9. java怎么把文件传输到file

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+" ");
}
。。。。。。
这样就实现了上传文件至数据库

10. 用java实现文件的上传与下载

1.下载简单,无非是把服务器上的文件或者数据库中的BLob(或其他二进制型),用流读出来,然后写到客户端即可,要注意 ContentType。

2.上传,可以用Apache Commons Upload等开源工具,或者自己写:
form要用enctype="multipart/form-data"
然后服务器端也是用IO把客户端提交的文件流读入,然后写到服务器的文件系统或者数据库里。不同的数据库对Lob字段操作可能有所不同,建议用Hibernate,JPA等成熟的ORM框架,可以不考虑数据库细节。

热点内容
对象存储和nas哪个好 发布:2025-02-12 01:50:34 浏览:445
phpmulticurl 发布:2025-02-12 01:41:58 浏览:70
数据库的集群 发布:2025-02-12 01:36:55 浏览:633
c语言实验买糖果 发布:2025-02-12 01:36:54 浏览:263
安卓怎么转微信到iphone 发布:2025-02-12 01:36:22 浏览:385
大众朗逸哪个配置好点 发布:2025-02-12 01:25:41 浏览:68
引用jar怎么发布到服务器 发布:2025-02-12 01:07:44 浏览:334
旧电脑开服务器 发布:2025-02-12 01:02:50 浏览:278
电脑服务器两个电源什么意思 发布:2025-02-12 00:55:15 浏览:221
linux外网不能访问端口 发布:2025-02-12 00:55:13 浏览:439