struts2视频上传文件
① struts2文件上传
引入commons-fileupload 的jar包,页面标签是file类型。后台直接按前台标签的名字按流读取就行了。跟普通的上传下载没区别。
② 使用struts2如何实现文件上传
新建Web Project,在WebRoot下新建upload文件夹
在WebRoot下新建upload.jsp,上传界面
编写上传成功、失败的提示界面。
在WebRoot下新建uploadError.jsp
在WebRoot下新建uploadSuccess.jsp
编写Action类
配置struts.xml文件,重置fileUpload拦截器。
测试,测试完成之后在tomcat下面webapps目录下找到项目对应的文件夹下的upload下查看
③ struts2中文件上传问题
你要学会用debug模式来调试自己的代码。把断点设置在 String root = ServletActionContext.getRequest().getRealPath("/upload"); 可以一步步查看每个变量和属性的值 ,这样更容易找到问题。
这里你需要查看root 和 destfile的值 这样很容易看出你得到的路径是否为你想要设置的路劲。
也可以用system.out.println(root) 打印到控制台看一下。
④ 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 如何通过ajax上传文件
ajax是不能上传文件的,一般做法是使用一个隐藏的iframe 来个传,达到无刷新上传的效果。
还有就是使用swf上传控件,swfUpload等
⑥ struts2 如何实现上传整个文件夹的功能
一、压缩文件其实是可以0压缩率直接打包,这样其实蛮快的
二、看到网上说Applet可以上传文件夹,具体远离不清楚,你可以看看
三、最笨的方法,用Ajax做一个递归遍历文件夹的函数,如果是文件就上传上去,如果是文件夹就请求后台新建文件夹
四、用JSON格式把目录和文件封装起来,统一传到后台,但是后台处理要比较麻烦
⑦ struts2上传文件的问题
你action中的msg可以传到页面的。
比如你在a.jsp中实现的上传,可以增加如下js
<script>//jstl写法
<c:if test="${!empty(msg)}">//判断后台是否提供了提示信息
showMessage("${msg}");
</c:if>
</script>
然后在你的action中上传完成后,再次跳转到a.jsp页面即可。
⑧ 如何用struts2上传视频
用上传文件是可以的,不过你要对这个action使用的FileInterceptor的文件大小重新设置。这个局部的设置不影响全局只对此action有效。
⑨ struts2文件上传出现错误,在文件上传的时候,上传doc和图片都可以,当上传音乐和视频的时候老出错
HTTP Status 404 - No result defined for action com.yisou.action.AddZiyuan and result input.这句已经说明了,你要在action加个<result name="input">你上传表单的jsp</result>。在这定义了,会返回你的错误,可能是上传大小限制的问题
⑩ struts2上传文件问题
推荐你试试dwr方式:
var testsForm = new Ext.FormPanel({.....});
var pa = testsForm .getForm().getValues();获取所有的值;
user_Dwr.saveUserInfo(pa,function(data){//dwr提交
向后台提交
});
后台:
public boolean saveUserInfo(Map queryParam){
//通过queryParam取得你传过来formpanel的参数值
String NPerId = queryParam.get("'NPerId'");
}