最近做个发邮件的功能,要求可以上传多个附件,请问前台还能用file框吗?系统框架用的struts2、spring、hibernate,请大指点!!!
http://fp-forever.iteye.com/blog/1327706
好拉,你下载下来看看,
后台怎么处理你自己处理啊,
可以动态创建input:file
也可以使用flash做上传组件
这个简单,
[code="js"]
function SetUpload(id, canmulti) {
var url = "QueryAsync.do?_funccode_=C_appContent&af=af&app_id=${APP_ID}&fileid="+id;
if(canmulti){
}else{
if($("#PID"+id).val()!="")
{
url="QueryAsync.do?_funccode_=C_appContent&af=af&app_id=${APP_ID}&fileid="+id+"&pid="+$("#PID"+id).val();
}
}
$("#fileUpload_" + id).uploadify({
'uploader': 'jquery/uploadify/uploadify.swf',
'cancelImg': 'images/cancel.png',
'buttonText': '选择上传文件',
'buttonImg': 'images/sc.jpg',
'width': 70,
'fileDataName': 'AttFileName',
'height': 27,
'fileExt': '*.pdf',
'fileDesc': '附件格式:*.pdf;',
'script': escape(url),
'multi': canmulti,
'auto': true,
'sizeLimit':2048000,
'onComplete': function(event, ID, fileObj, response, data) {
var myData=JSON.parse(response);
if(myData._returncode_==0){
var fileName = decodeURIComponent(myData.filename);
if(canmulti==false){
$("#PID"+id).val(myData.id);
$("#div"+id).html("");
url="QueryAsync.do?_funccode_=C_appContent&af=af&app_id=${APP_ID}&fileid="+id+"&pid="+myData.id;
$('#fileUpload_'+id).uploadifySettings('script',url);
}
$("#div"+id).append("<span id='span"+id+""+myData.sub_id+"'><a href='SyncAction.do?_funccode_=C_DownFile&id="
+myData.id+"&filename="+fileName+"'>"
+fileName+"</a> <img src='images/cancel.png' class='img_btn' onclick='del("+id+","+myData.id+","+myData.sub_id+")'/><br /></span>");
}
if(myData._returncode_==1)
{
var msg=decodeURIComponent(myData._returnmsg_);
alert(msg);
}
},
'onAllComplete': function(event, data) {
HideWait();
HideMask();
},
'onOpen': function(event, ID, fileObj) {
ShowDivMask();
ShowWait($(window).scrollTop() + (screen.availHeight - 170) / 2);
},
'onError': function(event, ID, fileObj, errorObj) {
if(fileObj.size>2048000)
{
alert("上传的附件不能超过2M");
}
alert("Ajax上传文件出错!请重新试过!");
HideWait();
HideMask();
}
});
}
function ShowDivMask() {
if ($("#divMask").length >= 1) {
return;
}
var divMask = "
function HideMask() {
$("#divMask").remove();
}
function ShowWait(height) {
if ($("#dWait").length >= 1) {
return;
}
var waitDiv = '
function HideWait() {
$("#dWait").remove();
}
[/code]
[code="html"]
[/code]
我给你找了篇文章,你看看吧,
http://shinfocom.iteye.com/blog/1246742
我上面贴的是我项目里用的有点乱,你看这篇文章。简单的。
uploadfy 是jquery 的一个插件,我项目里上传附件都用的这个。
看看官网DEMO
http://www.uploadify.com/demos/
QQ 看右下脚,有空多交流交流啊, :lol:
我也是个菜鸟。。
[code="js"]
[/code]
[code="css"]
[/code]
[code="js"]
[/code]
这个不要少了,必须的。
公司不让上QQ啊,
418040445
嗯,随便你怎么弄,
你可以写在 onclick 事件里面,然后把代码拷过去一样的。
哥们搞出来没,要是还没搞出来,我中午吃了饭给你写个例子。 :P
这里不能这样啊,哥。
[code="js"]
上传文件 这样不对的,
这行去掉,把参数'auto': true 这里设为true
[/code]
等会我马上给你写一个。 :cry:
:lol:
我又更新了一下,现在再去下载看看。