我正在项目中实施文件上传服务
我有java脚本代码,可以将文件作为要上传到服务器的文件列表提取。
为了让文件上传起作用 我想问一下如何找回 最大6之后的文件列表 文件已由。指定 用户?首先,我知道该列表将存储在 fileslist 数组/哈希
最终我探索使用了 库执行文件上传 服务,我看过 - commons fileupload - 和春天 分段上传。什么是 有效的实施方式 这个上传服务
以下代码片段
$(document).ready(function(){
var fileMax = 6;
$('#asdf').after('<div id="files_list" style="border:1px solid #666;padding:5px;background:#fff;" class="normal-gray">Files (maximum '+fileMax+'):</div>');
$("input.upload").change(function(){
doIt(this, fileMax);
});
});
$(document).ready(function(){
var fileMax = 6;
$('#asdf').after('<div id="files_list" style="border:1px solid #666;padding:5px;background:#fff;" class="normal-gray">Files (maximum '+fileMax+'):</div>');
$("input.upload").change(function(){
doIt(this, fileMax);
});
});
function doIt(obj, fm) {
if($('input.upload').size() > fm) {alert('Max files is '+fm); obj.value='';return true;}
$(obj).hide();
$(obj).parent().prepend('<input type="file" class="upload" name="fileX[]" />').find("input").change(function() {doIt(this, fm)});
var v = obj.value;
if(v != '') {
$("div#files_list").append('<div>'+v+'<input type="button" class="remove" value="Delete" style="margin:5px;" class="text-field"/></div>')
.find("input").click(function(){
$(this).parent().remove();
$(obj).remove();
return true;
});
}
};
我的表格如下:
<table border="0" cellspacing="0" cellpadding="8">
<tr>
<td><input type="file" id="element_input" class="upload" name="fileX[]" /></td>
</tr>
<tr>
<td><label>
<textarea name="textarea" cols="65" rows="4" class="text-field" id="textarea">Add a description</textarea>
</label></td>
</tr>
<tr>
<td><input name="Submit" type="button" class="text-field" id="send" value="Submit" /></td>
</tr>
</table><br />
答案 0 :(得分:1)
我认为你不会对这条路线产生预期的结果。我强烈建议使用yahoo uploader
(javascript + flash)。它是开源的,允许多个文件上传,基于ajax / flash,非常容易设置。
http://developer.yahoo.com/yui/examples/uploader/uploader-simple-button.html