下面我就為大家帶來一篇Ajax 上傳圖片並預覽的簡單實作。現在就分享給大家,也給大家做個參考。
1. 直接上最簡單的一種ajax 非同步上傳圖片,並預覽
#html:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>图片上传 | cookie</title> </head> <body> file: <input type="file" id="images" name="image" /><br><br> desc: <input type="text" id="desc" name="desc" /><br><br> <input type="button" value="upload" onclick="upload();"> <p class="images"></p> <script type="text/javascript" src="js/jquery-1.12.4.min.js"></script> <script type="text/javascript" src="js/upload.js"></script> <script type="text/javascript"> function upload() { $.ajaxFileUpload({ url : 'upload.htm', fileElementId : 'images', dataType : 'json', data : {desc : $("#desc").val()}, success : function(data) { var html = $(".images").html(); html += '<img width="100" height="100" src="/HotelManager/upload/' + data.url + '">' $(".images").html(html); } }) return false; } </script> </body> </html>
servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); String path = request.getServletContext().getRealPath("/upload"); String name = null; try { List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if(item.isFormField()){ System.out.println(item.getFieldName() + ": " + item.getString()); } else { name = item.getName(); item.write(new File(path,name)); } } PrintWriter out = response.getWriter(); out.print("{"); out.print("url:\"" + name +"\""); out.print("}"); } catch (Exception e) { e.printStackTrace(); } }
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
以上是Ajax 上傳圖片並預覽的簡單實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!