可以用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