java 文件服务器?java下载服务器文件到本地

java获取服务器文件,怎样用url返回

第一种; response.setStatus(302);

response.setHeader("location","/dayX/MyHtml.html");该方式可以重定向到服务器指定页面

当然还有以下方式:

第二种;请求转发

请求转发是指将请求再转发到另一资源(一般为JSP或Servlet)。此过程依然在同一个请求范围内,转发后浏览器地址栏内容不变

请求转发使用RequestDispatcher接口中的forward()方法来实现,该方法可以把请求转发到另外一个资源,并让该资源对浏览器的请求进行响应request.getRequestDispatcher(path).forward(request,response);

第三种重定向

重定向是指页面重新定位到某个新地址,之前的请求失效,进入一个新的请求,且跳转后浏览器地址栏内容将变为新的指定地址

重定向是通过HttpServletResponse对象的sendRedirect()来实现,该方法相当于浏览器重新发送一个请求

response.sendRedirect(path);

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{

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

}

。。。。。。

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

请教Java怎样实现跨服务器文件上传

你好!

另一台机器也要有处理文件上传的WEB程序,你可以参考Stream上传插件(支持HTML5和Flash两种方式上传)

Stream上传插件

Stream是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合!

Stream简介

Stream是根据某网的文件上传插件加工而来,支持不同平台(Windows, Linux, Mac, Android, iOS)下,主流浏览器(IE7+, Chrome, Firefox, Safari,其他)的上传工作,当然在Html5标准下,还支持文件的断点续传功能,有效解决大文件的Web上传问题!

主要特征

1.源码完全开放,目前有Java、PHP、Perl三种后台语言实现

2.支持HTML5、Flash两种方式(跨域)上传

3.多文件一起上传

4. HTML5支持断点续传,拖拽等新特性

5.兼容性好IE7+, FF3.6+, Chrome*,Safari4+,遨游等主流浏览器

6.进度条、速度、剩余时间等附属信息

7. `选择文件的按钮`可以自定义

8.简单的参数配置实现灵活多变的功能

9.支持文件夹上传(Chrome21+, Opera15+)

10.支持自定义UI(V1.4+)

指定跨域上传就可以了

这些都是小鸟云的工程师告诉我的,建议你可以试试小鸟云

阅读剩余
THE END