dsoframer.ocx控件编辑后保存在服务器端的简单方法
2013-10-06 16:02
281 查看
在使用dsoframer.ocx控件的时候经常遇到需要将用户编辑的内容上传到服务器上。控件本身提供的方法是在JS中调用httpPost方法跳转到另一个资源中再进行处理。这种方法使用起来很不方便,下面介绍一种通过struts2带的文件上传方法实现此功能。
1、在页面中添加控件以及控件的JS函数。
2、页面上添加控件以及表单
body的onload属性调用了hide()方法,目的是隐藏控件的工具栏部分,显得更美观。
表单的action为upload。method必须指定为post,默认的是get。enctype为multipart/form-data。注意:onsubmit为return save()这样在提交表单的时候就会先执行save()函数,如果返回true才提交表单,这就保证了上传的文件为保存后的文件。
3、处理文件上传的action
4、在struts.xml文件中注册
到此为止就实现了整个功能。用户选择本地文件后,点击打开文件。编辑文件之后点击提交,文件会保存并提交到服务器端。
1、在页面中添加控件以及控件的JS函数。
<script type="text/javascript"> function hide() { document.all.Mydso.Toolbars = false; document.all.Mydso.Menubar = false; document.all.Mydso.Titlebar = false; } function openfile() { var path = document.getElementById('upload').value; document.all.Mydso.Open(path,false); } function save() { var path = document.getElementById('upload').value; document.all.Mydso.Save(path,true); return true; } </script>
2、页面上添加控件以及表单
<body onload="hide()"> <OBJECT classid="clsid:00460182-9E5E-11d5-B7C8-B8269041DD57" codeBase="dsoframer.ocx"#Version="2,3,0,0" id="Mydso" name="Mydso" width=600 height=400 align=center hspace=0 vspace=0 > </OBJECT> <form action="upload" method="post" enctype="multipart/form-data" onsubmit="return save()"> <input type="file" name="upload" id="upload" value="选择文件"> <input type="button" value="打开文件" onclick="openfile()"> <input type="submit" value="提交"> </form> </body>
body的onload属性调用了hide()方法,目的是隐藏控件的工具栏部分,显得更美观。
表单的action为upload。method必须指定为post,默认的是get。enctype为multipart/form-data。注意:onsubmit为return save()这样在提交表单的时候就会先执行save()函数,如果返回true才提交表单,这就保证了上传的文件为保存后的文件。
3、处理文件上传的action
package action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class UploadAction extends ActionSupport { private File upload; private String uploadContentType; private String uploadFileName; public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public String getUploadContentType() { return uploadContentType; } public void setUploadContentType(String uploadContentType) { this.uploadContentType = uploadContentType; } public String getUploadFileName() { return uploadFileName; } public void setUploadFileName(String uploadFileName) { this.uploadFileName = uploadFileName; } @Override public String execute() throws Exception { FileOutputStream fos = new FileOutputStream("d:\\" + getUploadFileName()); FileInputStream fis = new FileInputStream(getUpload()); byte[] buffer = new byte[1024]; int len = 0; while((len = fis.read(buffer)) > 0) { fos.write(buffer, 0, len); } fos.close(); fis.close(); return SUCCESS; } }
4、在struts.xml文件中注册
<action name="upload" class="action.UploadAction"> <result name="input">index.jsp</result> <result name="success">success.jsp</result> </action>
到此为止就实现了整个功能。用户选择本地文件后,点击打开文件。编辑文件之后点击提交,文件会保存并提交到服务器端。
相关文章推荐
- 简单ocx控件制作方法
- 简单ocx控件制作方法
- 简单ocx控件制作方法(原创)
- VB源程序总是提示加载错误,或者不能加载OCX控件解决方法
- C#自动实现Dll(OCX)控件注册的两种方法
- TortoiseGit HTTPS方式保存密码最简单的方法
- Webbrowser控件判断网页加载完毕的简单方法
- C#与VB.NET服务器端控件的基本表示方法(学习之四)
- Picture控件图象保存为bmp,jpg,emf,tif,gif(方法二)
- 查看ocx控件CLSID的方法
- 关于UITableView中Cell的保持/保存 选中状态的简单方法
- .net2005环境下线程间控件访问的简单方法
- 用FlexGrid的EnterCell方法来实现控件可编辑
- php实现编辑和保存文件的方法
- VS2010下ocx开发:(1)用C++开发简单的ocx控件
- Delphi 正则表达式控件(掩码编辑框MaskEdit)的使用方法
- 控件重叠透明问题的简单处理方法
- Dsoframer控件实现office在线编辑
- WinForm常用的几个控件的简单使用方法