实现多附件上传的控件?

最近做个发邮件的功能,要求可以上传多个附件,请问前台还能用file框吗?系统框架用的struts2、spring、hibernate,请大指点!!!

http://fp-forever.iteye.com/blog/1327706

好拉,你下载下来看看,

后台怎么处理你自己处理啊,

可以动态创建input:file
也可以使用flash做上传组件

这个简单,

http://www.uploadify.com/

[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>&nbsp;<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 = "

";
$("body").append(divMask);
$("#divMask").css({
"width": document.body.offsetWidth + "px",
"height": document.body.scrollHeight + "px"
});
}

function HideMask() {
$("#divMask").remove();
}

function ShowWait(height) {
if ($("#dWait").length >= 1) {
return;
}
var waitDiv = '




请稍候……
';
$("body").append(waitDiv);
$("#dWait").css({ "left": (($("body").width()) / 2 - 200), "top": height });
}

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:

我又更新了一下,现在再去下载看看。

http://www.uploadify.com/documentation/