我用filefso.deletefile("图片的绝对路径");为什么,后台也不报错

\&我有一笔私房钱怕被老婆找到,我该藏哪?\&\&藏进红十字会吧,别说你老婆,全世界也不知
喜欢就猛击分享!
个性网内容精选:dsoframer.ocx
实现在线的word编辑 -
- ITeye技术网站
关于 dsoframer.ocx 的资料和API 我这里就不多说了。。百度 google 有很多
但是都是简单的介绍api 对于刚刚接触的人还是很难入手的。
所以我这里主要讲下如何来具体的使用,分享给大家,希望对大家帮助啊:
经过几天的研究,嘎嘎。。战果如下:
这里说明下 各个文件
dsoframer.ocx
大家都认识吧,微软提供的
dsoframer.js
封装了对 dsoframer.ocx 的操作
dsoframer.jsp
显示word的业务界面
dsoframer.CAB
这个是重头戏啊,引用这个文件,
可以在让 dsoframer.ocx 在浏览器中自动下载并注册 当初可弄了老半天的)
至于如何签名自己的 ocx,使其下载并注册,网页也有很多资料。
我这里也提供一个:
流程都好看。最要命的是 里面的 inf 安装文件别写错了,否则就安装失败了,所以要千万记着。
这里偷偷的告诉你们一个秘密: 我是把别人公司的 CAB 安装解压,让回一步一步的模仿写出来的。。嘎嘎
具体是哪个公司,嘿嘿,,不好说。。秘密!
你们可以拷贝我的就好了啊。。
还有一点就是要注意
写版本 FileVersion=2,0,0,0
的时候 是逗号而不是点,不然报错!
下面看具体代码
dsoframer.jsp
&%@ page language="java" pageEncoding="UTF-8" contentType="text/ charset=UTF-8" %&
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String id = "1";
&title&调查报告&/title&
&script language="javascript" src="dsoframer.js"&&/script&
&script type="text/javascript"&
/*用法说明:
1,创建 word对象
2,设置文件上传url
3,在页面加载时,打开word文档,根据是否传人docUrl参数,决定是本地新建,还是从服务器端获取
4,在页面关闭时,执行上传操作。
var word = new word();
//决定路径
word.setUploadUrl("http://127.0.0.1:8070/word/upload_handle.jsp");
var docurl = "";
function load(){
//方法:openDoc(docName, docUrl)
// docName:必填,本地保存的文件名, 也为上传到服务器上时的文件名
// docUrl: 填时,为从服务器端获取doc文档的路径, 不填时,表示本地新建doc文档
word.openDoc('1.doc',"http://127.0.0.1:8070/word/upload/1.doc");
//这里实现读取服务器的模板,并保存到服务器的业务路径中
$.post("/ZsytpServlet",{type:"ajaxWord",id:&%=id%&},function(result){
var dataObj=eval("("+result+")");//转换为json对象
docurl = dataObj.
if(docurl == ""){
word.openDoc('&%=id%&.doc',"&%=basePath%&/webapps/zsytp/templ/"+dataObj.fhtk+".doc");
document.getElementById('oframe').SetFieldValue("f_name",dataObj.f_name,"");
document.getElementById('oframe').SetFieldValue("m_name",dataObj.m_name,"");
document.getElementById('oframe').SetFieldValue("town",dataObj.town,"");
document.getElementById('oframe').SetFieldValue("f_name1",dataObj.f_name,"");
document.getElementById('oframe').SetFieldValue("m_name1",dataObj.m_name,"");
document.getElementById('oframe').SetFieldValue("sqsj",dataObj.sqsj,"");
document.getElementById('oframe').SetFieldValue("f_name2",dataObj.f_name,"");
document.getElementById('oframe').SetFieldValue("f_birthday",dataObj.f_birthday,"");
document.getElementById('oframe').SetFieldValue("f_hjdz",dataObj.f_hjdz,"");
document.getElementById('oframe').SetFieldValue("m_name2",dataObj.m_name,"");
document.getElementById('oframe').SetFieldValue("m_birthday",dataObj.m_birthday,"");
document.getElementById('oframe').SetFieldValue("m_hjdz",dataObj.m_hjdz,"");
//实现读取业务路径的内容,并修改
word.openDoc('&%=id%&.doc',"&%=basePath%&/webapps/zsytp/word/"+docurl);
//为了简化,我定义关闭窗口的时候,保存到服务器上面,并且删除本地的临时文件
function unload(){
word.saveDoc();
word.close();
//给书签赋值
function setFileVal(){
document.getElementById('oframe').SetFieldValue("dm"," 22:22:22","");
//插入红头文件
//等等。。网上都有 API
//真正开发的时候,,需要用到的方法,保存文件到服务器上
//可以查看里面的 document.getElementById('oframe').HttpAddPostString("id",id); 等向后台穿参数
function uploadFile(){
//word.saveDocAndParm('1',docurl);
&body onload="load();" onunload="unload();"&
type="button" value="保存文件到服务器" onclick="uploadFile()" &
&object classid="clsid:E5E-11d5-B7C8-B" codebase="dsoframer.ocx" id="oframe" width="100%" height="100%"&
&param name="BorderStyle" value="1"&
&param name="TitlebarColor" value="52479"&
&param name="TitlebarTextColor" value="0"&
&object classid="clsid:E5E-11d5-B7C8-B" codebase="dsoframer.CAB#Version=2.0.0.0" id="oframe" width="100%" height="100%"&
&param name="BorderStyle" value="1"&
&param name="TitlebarColor" value="52479"&
&param name="TitlebarTextColor" value="0"&
upload_handle.jsp 上传的业务代码。。可以自己修改吧。。嘎嘎
&%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/ charset=UTF-8"%&
&%@page import="mons.fileupload.servlet.ServletFileUpload"%&
&%@page import="mons.fileupload.disk.DiskFileItemFactory"%&
&%@page import="java.io.File"%&
&%@page import="mons.fileupload.FileItem"%&
&%@page import="java.text.SimpleDateFormat"%&
&%@page import="java.io.BufferedInputStream"%&
&%@page import="java.io.BufferedOutputStream"%&
&%@page import="java.io.FileOutputStream"%&
&%@page import="mons.fileupload.util.Streams"%&
// 解析 request,判断是否有上传文件
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
System.out.println("---------"+isMultipart);
if (isMultipart) {
Date date = new Date();//获取当前时间
SimpleDateFormat sdfFolder = new SimpleDateFormat("yyMM");
String fileRealPath = "";//文件存放真实地址
String fileRealResistPath = "";//文件存放真实相对路径
String id="1";//id
String docUrl=""; //路径
String firstFileName="";
String yyMM = sdfFolder.format(date);
//上传文件夹绝对路径
String physicsPath = request.getRealPath("")
+ "\\upload\\" + yyMM + "\\";
File file = new File(physicsPath);
if (!file.isDirectory()) {
file.mkdir();
// 创建磁盘工厂,利用构造器实现内存数据储存量和临时储存路径
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置最多只允许在内存中存储的数据,单位:字节
// factory.setSizeThreshold(4096);
// 设置文件临时存储路径
// factory.setRepository(new File("D:\\Temp"));
// 产生一新的文件上传处理程式
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置路径、文件名的字符集
upload.setHeaderEncoding("UTF-8");
// 设置允许用户上传文件大小,单位:字节
upload.setSizeMax(-1);
//upload.setSizeMax(1024 * 1024);
// 解析请求,开始读取数据
// Iterator&FileItem& iter = (Iterator&FileItem&) upload.getItemIterator(request);
// 得到所有的表单域,它们目前都被当作FileItem
BufferedInputStream in =
List fileItems = upload.parseRequest(request);
// 依次处理请求
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
// 如果item是正常的表单域
String name = item.getFieldName();
String value = item.getString("UTF-8");
if(name.equals("id"))
id=//附件标题赋值
else if(name.equals("docUrl"))
docUrl=//附件ID赋值
// 如果item是文件上传表单域
// 获得文件名及路径
String fileName = item.getName();
if (fileName != null) {
firstFileName=item.getName().substring(item.getName().lastIndexOf("\\")+1);
in = new BufferedInputStream(item.getInputStream());// 获得文件输入流
String formatName = firstFileName.substring(firstFileName.lastIndexOf("."));//获取文件后缀名
if(docUrl != null && !"".equals(docUrl.trim())){
fileRealPath = request.getRealPath("") + "\\word\\" + docU//文件存放真实地址
fileRealPath = physicsPath + id+ formatN//文件存放真实地址
docUrl = yyMM + "/" + id + formatN
BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(new File(fileRealPath)));// 获得文件输出流
Streams.copy(in, outStream, true);// 开始把文件写到你指定的上传文件夹
//上传成功,则插入数据库
if (new File(fileRealPath).exists()) {
//虚拟路径赋值
fileRealResistPath=sdfFolder.format(date)+"/"+fileRealPath.substring(fileRealPath.lastIndexOf("\\")+1);
//DB db=new DB();
//System.out.println("!!!"+(String) session.getAttribute("fpsssn")+"&&"+v07.can.myname(session));
//int count = db.executeUpdate("update
docurl ='"+docUrl+"'
id ='"+id+"'");
//if(count&0){
// response.setContentType("text/charset=UTF-8");
// out.print("&script&alert('上传成功!');&/script&");
//db.destroy();
//保存到数据库
}catch(Exception e){
e.printStackTrace();
//response.setContentType("text/charset=UTF-8");
//out.print("&script&window.alert('上传失败!文件大小超过1MB!');&/script&");
哈哈。。下面就是
demo 咯。。。
本人的是 word 2003 。。至于 2007 我没测试过啊。。。你们看着办办。。。。
下载次数: 1261
浏览 16290
请问一下楼主,这浏览器访问的时候安装不上啊,是不是还要再弄一个证书啊?不需要的,已经弄成 cba 包,可以自动下载安装的....如果不可以,你先手动注册试试看
while (iter.hasNext()) {
System.out.println("num:"+num);
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
// 如果item是正常的表单域&&
String name = item.getFieldName();
String value = item.getString("UTF-8");
if(name.equals("id")){
id=//附件标题赋值
else if(name.equals("docUrl")){
docUrl=//附件ID赋值
// 如果item是文件上传表单域&&
// 获得文件名及路径&&
String fileName = item.getName();
if (fileName != null) {
firstFileName=item.getName().substring(item.getName().lastIndexOf("\\")+1);
in = new BufferedInputStream(item.getInputStream());// 获得文件输入流
}&&&&&&&&&
}我的问题在于最后获取的文件输入流中没有数据。看看你的操作系统,如果是普通的PC XP 系统,应该是可以的。。如果是service系统。。是传不上去的。。。具体原因也没弄清楚我。。。
请问,我修改服务器上文件,保存后,参数传递不到后台是怎么问题,request中没有值,ServletFileUpload.isMultipartContent(request) 也为false嗯。。如果你的服务器的操作系统 是 service 版本的。。好像是不行..普通的PC XP 系统好像是可以。。。这个我也发现过。。没找出问题所在。。也许是服务器的操作系统的安全策略比较高吧。。。
楼主,那个dsoframer.js怎么不起作用, 要是把js写到dsoframer.jsp页面中就好用了,这个是什么情况 && 估计是你的自动注册失败了。。要不你手动注册下
yangpanwww
浏览: 174256 次
来自: 杭州
IcemanfanK 写道laji
怎么。。哪里有问题 ...
好东西怎么没人顶, 请不要停止创作
正在研究学习楼主的代码
xiangyu0921 写道转换完后用file.delete( ...还没有开通你的开心账户?使用其他账号登录:
我觉得这个&爱薇伊纯植物化妆品&挺赞的,用#支付宝担保交易#,收到货再付款也不迟哦~ htt...
我觉得这个&爱薇伊纯植物化妆品&挺赞的,用#支付宝担保交易#,收到货再付款也不迟哦~ /p.htm?id=6901
本转帖分类:&&
&&上一帖:
下一帖:&&
(%)点击发表你的观点
09-20 10:0709-20 10:1309-20 10:1509-20 10:2009-20 10:2309-20 10:2909-20 10:3809-20 10:4809-20 10:4809-20 10:48
热门转帖:
最新专题:
&2015 开心网我真的很不错亲子操-&亲子操&quot...
给作者投票
相关视频连播
方式一:扫一扫
支持各类二维码扫描软件
方式二:发一发
免费发送App到手机
看不清验证码不正确
该短信不收取任何费用
方式三:下一下
下载App观看
还有更多攻略和游戏礼包等着你
嵌入代码:
这个支持手机播放哦
手机看视频
911韩国星际频道
远征丶阿飞Leesin
可爷~不骄不躁
泡沫,?兮兮
大家都在看
Copyright & 173. All rights reserved.}

我要回帖

更多关于 fso.deletefile 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信