关于flash头像如何集成进自己的java项目请教各位达人

delete data base,run 2014-03-26 05:14:43
有个项目需要一个头像上传的功能,懒的写了,就在网上找了个,这是JSP版的文件目录:。这个插件直接在部署在tomcat下是能运行的:。但是直接把那段flash拿下来放进自己的项目里貌似无法使用。这是页面上的flash:
<div id="altContent">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="650" HEIGHT="450" id="myMovieName">
<PARAM NAME=movie VALUE="avatar.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<param name="flashvars" value="imgUrl=./default.jpg&uploadUrl=./upfile.jsp&uploadSrc=false" />
<EMBED src="avatar.swf" quality=high bgcolor=#FFFFFF WIDTH="650" HEIGHT="450" wmode="transparent" flashVars="imgUrl=./default.jpg&uploadUrl=./upfile.jsp&uploadSrc=false"
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" allowScriptAccess="always"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
</div>
<div id="avatar_priview"></div>
这里是js:
<script type="text/javascript">
function uploadevent(status,picUrl,callbackdata){
//alert(picUrl); //后端存储图片
// alert(callbackdata);
status += '';
switch(status){
case '1':
var time = new Date().getTime();
var filename162 = picUrl+'_162.jpg';
var filename48 = picUrl+'_48.jpg';
var filename20 = picUrl+"_20.jpg";

document.getElementById('avatar_priview').innerHTML = "头像1 : <img src='"+filename162+"?" + time + "'/> <br/> 头像2: <img src='"+filename48+"?" + time + "'/><br/> 头像3: <img src='"+filename20+"?" + time + "'/>" ;

break;
case '-1':
window.location.reload();
break;
default:
window.location.reload();
}
}
</script>
还有一个jsp文件:
<%@page import="java.io.*,sun.misc.*,java.util.*"%>
<%
String path=application.getRealPath(request.getRequestURI());
String dir=new File(path).getParent();

String savePath = "./"; //保存图片路径 可以修改

String _savePath = dir + savePath;

long savePicName = new Date().getTime();

String file_src = _savePath + savePicName + "_src.jpg"; //保存原图
String filename162 = _savePath + savePicName + "_162.jpg"; //保存162
String filename48 = _savePath + savePicName + "_48.jpg"; //保存48
String filename20 = _savePath + savePicName + "_20.jpg"; //保存20



String pic=request.getParameter("pic");
String pic1=request.getParameter("pic1");
String pic2=request.getParameter("pic2");
String pic3=request.getParameter("pic3");



if(!pic.equals("")&&pic!=null){
//原图
File file = new File(file_src);
FileOutputStream fout = null;
fout = new FileOutputStream(file);
fout.write(new BASE64Decoder().decodeBuffer(pic));
fout.close();
}

//图1
File file1 = new File(filename162);
FileOutputStream fout1 = null;
fout1 = new FileOutputStream(file1);
fout1.write(new BASE64Decoder().decodeBuffer(pic1));
fout1.close();

//图2
File file2 = new File(filename48);
FileOutputStream fout2 = null;
fout2 = new FileOutputStream(file2);
fout2.write(new BASE64Decoder().decodeBuffer(pic2));
fout2.close();

//图3
File file3 = new File(filename20);
FileOutputStream fout3 = null;
fout3 = new FileOutputStream(file3);
fout3.write(new BASE64Decoder().decodeBuffer(pic3));
fout3.close();

String picUrl = savePath+savePicName;

out.println("{\"status\":1,\"picUrl\":\""+picUrl+"\"}"); //返回图片地址

%>
当把那段flash,js和jsp写到自己项目里,虽然能看到flash插件,但是保存点了没反应,而其他按钮是可以正常使用的,本人推测是jsp文件未找到。这里是我的代码:
<script>
var basePath = "${basePath}";
function uploadevent(status,picUrl,callbackdata){
alert(picUrl); //后端存储图片
//alert(callbackdata);
status += '';
switch(status){
case '1':
var time = new Date().getTime();
var filename162 = "headmodify"+"/"+picUrl+'_162.jpg';
var filename48 = "headmodify"+"/"+picUrl+'_48.jpg';
var filename20 = "headmodify"+"/"+picUrl+"_20.jpg";

document.getElementById('avatar_priview').innerHTML = "头像1 : <img src='"+filename162+"'/> <br/> 头像2: <img src='"+filename48+"?" + time + "'/><br/> 头像3: <img src='"+filename20+"?" + time + "'/>" ;

break;
case '-1':
window.location.reload();
break;
default:
window.location.reload();
}
}
</script>
</head>
<body>
<ul class="clearfix person">
<li class="fl text-center left">
<img src="${resPath }/smeljd/images/updownpic.jpg">
<p><button class="btn" onClick="gotoUrl('editHeadModify');">更改头像</button></p>
</li>
<li class="fr right">
<h3>修改头像</h3>
<div id="altContent">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="650" HEIGHT="450" id="myMovieName">
<PARAM NAME=movie VALUE="${resPath}/smeljd/avatar.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<param name="flashvars" value="imgUrl=${resPath}/smeljd/images/default.jpg&uploadUrl=${resPath}/smeljd/upfile.jsp&uploadSrc=false" />
<EMBED src="${resPath}/smeljd/avatar.swf" quality=high bgcolor=#FFFFFF WIDTH="650" HEIGHT="450" wmode="transparent" flashVars="imgUrl=${resPath}/smeljd/images/default.jpg&uploadUrl=${resPath}/smeljd/upfile.jsp&uploadSrc=false"
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash" allowScriptAccess="always"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
</div>
<div id="avatar_priview"></div>
</li>
</ul>
由于flash文件反编译后开始看不懂在哪里设置的读取jsp文件的路径,所以特来请教各位大侠帮帮我这只菜鸟吧~。flash文件里我推测这里是写jsp路径的:
0.imgUrl = this.81["imgUrl"]?this.81["imgUrl"]:"default.jpg";
0.uploadUrl = this.81["uploadUrl"]?this.81["uploadUrl"]:"upfile.asp";
0.uploadUrl = 0.uploadUrl.split("|").join("&");
0.uploadSrc = this.81["uploadSrc"] == "true"?true:false;
0.showBrow = this.81["showBrow"] == "false"?false:true;
0.showCame = this.81["showCame"] == "false"?false:true;
0.jsFunc = this.81["jsfunc"]?this.81["jsfunc"]:"uploadevent";
0.jsLang = this.81["jslang"];
...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看来是沉了啊
Defonds 2014-03-26
  • 打赏
  • 举报
回复
看描述像是路径的问题呢
  • 打赏
  • 举报
回复
没有人回答我么=。=,求大神出现啊,小弟跪谢啦!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧