java 怎么在客户端把客户端一个文件上传到web服务器上?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎么在客户端把客户端一个文件上传到web服务器上?相关的知识,希望对你有一定的参考价值。

A是服务机,B登录在A上的系统,选择B上的文件,上传文件到A
大家不要推荐第三方软件了,我这里是需要用java代码实现

参考技术A 第一步 表单 type="file"
第二步 结合structs追问

请教下,怎么我从jsp页面获取的输入流为空啊?在aciton中用request.getInputstream()获取的,jsp中enctype也改成multipart/form-data了

追答

http://www.cnblogs.com/linjiqin/archive/2011/03/21/1990674.html

追问

不好意思啊,你理解错了,我不是同一台机器上上传。我是在A机器访问部署在B机器上的系统,jsp上用input file获取到文件的路径,然后点击上传,文件上传到部署这个服务的机器上,也就是B上。A上的文件》》》传到B机器上

本回答被提问者采纳
参考技术B 远程桌面连接到A就行了追问

我是要用java代码实现,不能那样

参考技术C jquery ajax 就不用通过刷新页面去服务端追问

关ajax什么事?能详细说下吗?我觉得与ajax没什么关系

追答

你是说客户端是你本机,上传到web服务器的话,你就用httpserver或者FTP撒

追问

你有例子吗?或者能简单写个例子给我吗?FTP和HTTPSERVER的都可以

追答

去百度下一个filezilla server 文件上传器,百度有用法,例子我暂时没有,操作挺简单的,以前我们部署服务器的时候,就是用这个传文件到服务器的,这个是链接http://jingyan.baidu.com/article/6079ad0e67acf828ff86db3f.html,如果你不是新手,应该能看得懂

参考技术D 那就直接上传呗!追问

...

追答

你数据库连接的就是服务器,你上传的文件你在服务器是哪个建一个文件夹,在文件夹下把物理文件存储起来就行了呗

java web 怎么从服务器下载文件到客户端的指定位置

就是从服务器下载文件到客户端的指定的位置
源代码 解决后加分

参考技术A

我脚得的吧,这应该是浏览器考虑的问题吧,比如谷歌浏览器,就有这么一个配置:

参考技术B 这个很简单啊,就是定义一个input file类型的,然后上传,获取上传的文件,用inputstream读取,然后用outputstream写入到你服务器的指定位置就行了。如果用struts来接收上传文件就简单了,只需要命名和jsp文件input file类型名称相同的字段就能获取上传文件了,file类型的。
/** 新闻代表图片 */
private File newsPicture;//文件字段和jsp 中文件name相同
private String newsPictureFileName;//文件名称,可以自动获取
private String newsPictureContentType;//文件类型,可以自动判断

//上传的共用方法,srcFile源文件,savePath保存的路径,fileName文件名称,你使用这个方法就可以上传了。
public static File uploadUtil(File srcFile,String savePath,String FileName)
InputStream is = null;
OutputStream os = null;
File toFile = null;
if(srcFile!=null)
try
is = new FileInputStream(srcFile);
String fileName = (new Date().getTime())+FileName.substring(FileName.indexOf("."));
toFile = new File(ServletActionContext.getServletContext().getRealPath(savePath), fileName);
os = new FileOutputStream(toFile);
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer)) > 0)
os.write(buffer, 0, length);

os.flush();
catch (FileNotFoundException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
finally
try
is.close();
os.close();
catch (IOException e)
e.printStackTrace();




return toFile;
追问

当加载一个JSP页面的时候从服务器下载文件 到客户端怎么实现

追答

下载要稍微麻烦一点:需要配置struts.xml配置流,需要
1、

2、在需要下载的action中

application/octet-stream;charset=ISO8859-1//字符集,必须转换成ISO文件名才正确
attachment;filename="$fileRealName"//下载名为filename中的值
downloadFile

3、下载方法需要该方法
public InputStream getDownloadFile() throws Exception

this.setFileName(fileName);
String name = this.getFileRealName();
String realPath = "/upload/"+name;
InputStream in = ServletActionContext.getServletContext().getResourceAsStream(realPath);
return in;

4、页面需要下载列表
$uploadFiles.filename网上有很多资源,你多看下就能懂

本回答被提问者和网友采纳
参考技术C 程序要在客户端运行,使用HttpClient下载,apache官网有例子、有文档追问

web 程序要在服务端运行,怎么从服务端下载文件到客户端的指定位置

追答

写WEB,服务器端是没有权限直接访问客户端的本地资源的———除非客户端的权限全开放了,那写applet可以。

以上是关于java 怎么在客户端把客户端一个文件上传到web服务器上?的主要内容,如果未能解决你的问题,请参考以下文章

java怎么把excel文件导入到web网页上显示

java web 怎么从服务器下载文件到客户端的指定位置

JAVA如何把本地文件上传到服务器。

java web实现上传头像功能,

绝对高分求客户端向服务器上传与下载文件的程序

c#客户端图片上传到服务器端文件并且把路径保存到vs自带数据库