当前位置:首页 » 文件管理 » struts2上传文件

struts2上传文件

发布时间: 2022-01-24 22:15:53

⑴ struts2怎么接收上传文件

新建Web Project,在WebRoot下新建upload文件夹
在WebRoot下新建upload.jsp,上传界面

编写上传成功、失败的提示界面。
在WebRoot下新建uploadError.jsp

在WebRoot下新建 uploadSuccess.jsp

编写Action类

配置struts.xml文件,重置fileUpload拦截器。

7
测试,测试完成之后在tomcat下面webapps目录下找到项目对应的文件夹下的upload下查看

⑵ struts2 如何通过ajax上传文件

ajax是不能上传文件的,一般做法是使用一个隐藏的iframe 来个传,达到无刷新上传的效果。
还有就是使用swf上传控件,swfUpload等

⑶ 使用struts2 怎么实现 文件上传到另外一台电脑

传输文件的功能,类似于网络聊天程序。

肯定要用的文件传输用的IO流,还有网络通信用到的socket了。

可以在你部署struts2网站的服务器上面写一个网络通信程序(服务器端),对应的网络通信程序(客户端)放在“另外一台电脑”上面。

网站的服务器启动之后:
1。把那个网络通信程序(服务器端)启动

2。把“另外一台电脑”上面的网络通信程序(客户端)启动,现在两端就建立连接了。

3。可以通过服务器端向客户端发送数据。

以上过程跟我们平时用的聊天程序一样。

你可以在网上看看相应的网络聊天程序,现在网上这样的程序还是很多的。
里面实现了这样的机制。

⑷ struts2文件上传和下载

1,上传方法
(1),页面form表单添加一个属性为enctype="multipart/form-data" 和method="post"

(2),假设上传预览框为 <input type="file" name="myfile" />
(3),控制器接值的方法为
private File myfile; //要上传的文件

private String myfileFileName; //要上传文件名称
private String myfileContentType; //要上传文件类型
别忘了做set方法

(4), 接到值后可以保存到数据库,也可以保存到硬盘,
>>1 保存到数据库, 数据库表中对应字段要设置为BLOB类型

>>2 保存到硬盘代码如下

InputStream in = new
FileInputStream( myfile);
OutputStream out = new
FileOutputStream( new File("d:\\upload\\"+myfileFileName));
byte[] buffer
= new byte[ in.available() ];
int ins =
in.read(buffer);//读取字节到buffer中
//ins == -1 时
。就已经是文件的结尾了
while ( ins !=
-1 ) {
out.write(buffer, 0, ins);//将缓存buffer中的数据写到文件中
ins = in.read(buffer);
}

in.close();
out.flush();
out.close();
2,下载
(1), 把要下载的文件转成一个输入流InputStream
例如,利用hibernate取得一个文件,文件类型在实体类中为byte[]类型,

inputStream = new
ByteArrayInputStream(book.getMyfile);
其中inputStream 为全局变量,并且做setter和getter方法
(2),在控制器对应的action节点中(struts2配置文件中)添加一个result节点如下:

<result name="download" type="stream">
<param name="contentType">application/zip</param>

<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${myFileFileName}"</param>
<param name="bufferSize">1024</param>
</result>
这样,就可以实现上传和下载了.

⑸ struts2 如何实现上传整个文件夹的功能

一、压缩文件其实是可以0压缩率直接打包,这样其实蛮快的
二、看到网上说Applet可以上传文件夹,具体远离不清楚,你可以看看
三、最笨的方法,用Ajax做一个递归遍历文件夹的函数,如果是文件就上传上去,如果是文件夹就请求后台新建文件夹
四、用JSON格式把目录和文件封装起来,统一传到后台,但是后台处理要比较麻烦

⑹ 在struts2的action中如何获得上传文件客户端的路径


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;
public class DownloadAction extends ActionSupport
{
public InputStream getDownloadFile()

{
InputStream is = null;
try {
is = new FileInputStream("f:/java.rar");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return is;
}

@Override
public String execute() throws Exception
{
return SUCCESS;
}
}
现写了一个 看的懂吧 祝你成功!

⑺ 如何实现struts2的文件上传

(upload.jsp)
<body>
<s:form action="loadPage" namespace="/load" enctype="multipart/form-data">
<s:file name="file" label="select a file"></s:file>
<s:textfield name="newFileName" label="文件新名字"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>
<s:actionerror/>
</body>

(struts-upload.xml)

<package name="load" extends="struts-default" namespace="/load">
<global-results>
<result name="input">/WEB-INF/pages/load/load.jsp</result>
</global-results>

<action name="load" class="com.tj.beef.action.LoadPageAction" method="input">
</action>

<action name="loadPage" class="com.tj.beef.action.LoadPageAction">
<interceptor-ref name="defaultStack">
<param name="fileUpload.maximumSize">102400</param>
<param name="fileUpload.allowedTypes">image/gif,image/pjpeg</param>
</interceptor-ref>
<param name="loadDir">/img/</param>
<result>/WEB-INF/pages/load/success.jsp</result>

</action>
</package>

(LoadPageAction)

package com.tj.beef.action;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class LoadPageAction extends ActionSupport {
private File file;
private String fileFileName;
private String fileContentType;
private String loadDir;
private String newFileName;

public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileContentType() {
return fileContentType;
}

public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
public String getLoadDir() {
return loadDir;
}
public void setLoadDir(String loadDir) {
this.loadDir = loadDir;
}
public String getNewFileName() {
return newFileName;
}
public void setNewFileName(String newFileName) {
this.newFileName = newFileName;
}
@Override
public String execute() throws Exception {
System.out.println(file);
System.out.println(fileFileName);
System.out.println(fileContentType);
System.out.println(loadDir);
System.out.println(newFileName);
//get path
String path = ServletActionContext.getServletContext().getRealPath(this.loadDir);
//hava file?
File dir = new File(path);
if(!dir.exists()) {
dir.mkdir();
}
//
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);

File newFile = new File(path,fileFileName);
FileOutputStream fos = new FileOutputStream(newFile);
BufferedOutputStream bos = new BufferedOutputStream(fos);
//
byte[] buf = new byte[4096];
int len = bis.read(buf);
while(len!=-1) {
bos.write(buf,0,len);
len = bis.read(buf);
}
bis.close();
fis.close();
bos.close();
fos.close();

return SUCCESS;
}
@Override
public String input() throws Exception {
// TODO Auto-generated method stub
return INPUT;
}

}

⑻ struts2上传文件

File saveFile=new File(saveDir, imageFileName);不会创建一个空文件,这只是为了把savaFile做为一个参数传到FileUtils.File(image, saveFile);里用来读写文件。
第二个是为什么不直接File saveFile=new File(realpath,imageFileName);因为需要先创建文件夹然后在里边写文件才这么做的

⑼ struts2文件上传

引入commons-fileupload 的jar包,页面标签是file类型。后台直接按前台标签的名字按流读取就行了。跟普通的上传下载没区别。

热点内容
python读写txt文件 发布:2024-10-18 22:21:37 浏览:362
网易版我的世界服务器语音交流 发布:2024-10-18 22:11:03 浏览:942
路由器限制上传速度 发布:2024-10-18 21:53:17 浏览:659
win7浏览器缓存文件 发布:2024-10-18 21:51:19 浏览:84
安卓如何调出系统界面 发布:2024-10-18 21:47:16 浏览:740
jetty源码debug 发布:2024-10-18 21:47:13 浏览:225
给料源码 发布:2024-10-18 21:43:30 浏览:833
手机配置不支持堡垒之夜怎么办 发布:2024-10-18 21:40:43 浏览:714
keil编译错误 发布:2024-10-18 21:34:28 浏览:987
下面赋值语句不会出现编译警告或错误 发布:2024-10-18 21:34:17 浏览:730