可以用Uploadify这个插件进行上传
参考网址:
http://www.uploadify.com/
http://www.blogjava.net/yangxiang/archive/2009/07/29/288888.html
前台绑定:
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : 'uploadify.swf',
'script' : 'servlet/Upload',
'cancelImg' : 'images/cancel.png',
'folder' : 'uploads',
'queueID' : 'fileQueue',
'auto' : false,
'multi' : true,
'simUploadLimit' : 2,
'buttonText' : 'BROWSE'
});
});
后台:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String savePath = this.getServletConfig().getServletContext()
.getRealPath("");
savePath = savePath + "/uploads/";
File f1 = new File(savePath);
System.out.println(savePath);
if (!f1.exists()) {
f1.mkdirs();
}
DiskFileItemFactory fac = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(fac);
upload.setHeaderEncoding("utf-8");
List fileList = null;
try {
fileList = upload.parseRequest(request);
} catch (FileUploadException ex) {
return;
}
Iterator<FileItem> it = fileList.iterator();
String name = "";
String extName = "";
while (it.hasNext()) {
FileItem item = it.next();
if (!item.isFormField()) {
name = item.getName();
long size = item.getSize();
String type = item.getContentType();
System.out.println(size + " " + type);
if (name == null || name.trim().equals("")) {
continue;
}
//扩展名格式:
if (name.lastIndexOf(".") >= 0) {
extName = name.substring(name.lastIndexOf("."));
}
File file = null;
do {
//生成文件名:
name = UUID.randomUUID().toString();
file = new File(savePath + name + extName);
} while (file.exists());
File saveFile = new File(savePath + name + extName);
try {
item.write(saveFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
response.getWriter().print(name + extName);
}
B. js怎么传递一个上传文件的路径
flex上传的是文件流,你应该在服务端接到这个字节流 将其创建成文件对象 并保存在服务器本地磁盘中获得路径返回给前台,如果你们用node js做的服务器 也是同理 一定有处理流的方法,关键是你要理解flex 通过onload加载成功后在成功事件对象中取得的是 这个文件的信息 包括 字节流啊 宽高啊 名字啊等等。不知道能否让你理解。
C. 不使用HTML5,JS怎样上传文件
不写标签让用户选择文件,用户要在那里找选择上传文件的入口?
JS上传文件很多,某度搜索“JS上传文件示例”就很多了。
例如我自己之前写的:
D. js编辑文本 上传为文件 怎么实现
到后复台制在专为文件即可
如
$.ajax({
url:"a.php?text=wfhjadbfjsahfwqfbadbn&filename=aaa.txt"
});
a.php
<?
content = $_GET['text'];
$file1 = $_GET['filename'].'txt';
$fp = fopen($file1, 'w');
fwrite($fp, $content);
fclose($fp);
?>
E. JS上传图片怎么限制只能选择一张图片上传
正常的<input type="file" />就是选择单个文件的
而在html5中新增的mutiple属性才可以多选<input type="file" multiple="multiple"
/>
F. JS怎样用AJAX上传文件
实际上AJAX本身是没办法上传文件的...一般上传都是用FOMR...来实现类似AJAX....
如果不用FORM用JS , 可以使用下面这几个工具:
WebUploader:http://fex..com/webuploader/
pluploader:http://www.plupload.com