Android、IOS 圖片上傳介面(Java實現Servlet)。
package com.ninepoint.babystar.server.action; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.log4j.Logger; import com.ninepoint.babystar.server.bean.ResultBaseBean; /** * * @Description 圖片上傳介面(Servlet實現)支援引數和多張圖片的上傳 * @author nier_ni * @date 2015-9-26 上午11:05:52 * @version */ public class UploadFileServlet extends HttpServlet { /** @Fields serialVersionUID: */ private static final long serialVersionUID = -4903483985922185852L; private final Logger logger = Logger.getLogger(UploadFileServlet.class); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String realPath = this.getServletContext().getRealPath("images"); //圖片儲存路徑 ResultBaseBean result = new ResultBaseBean(); result.setResult(0); boolean isMultipart = ServletFileUpload.isMultipartContent(request); if(isMultipart){ /** * 1、上傳是否有資料; * 2、圖片存放路徑; * 3、圖片是否儲存成功。 result 1、上傳成功,0、上傳失敗。 */ String msg = null; HashMap<String,String> params = uploadImg(realPath,request); responseOutWithJson(response,result); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response); } /** * * @Description 上傳圖片 * @param realPath * @param request */ public HashMap<String,String> uploadImg(String realPath, HttpServletRequest request){ HashMap<String,String> hashMap = new HashMap<String, String>(); int i = 0; String fileName = null; File dir = new File(realPath); DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(1024*1024*5*9); upload.setHeaderEncoding("utf-8"); try { List<FileItem> items = upload.parseRequest(request); for(FileItem item : items){ if(item.isFormField()){ //username="username" String name = item.getFieldName(); String value = item.getString("utf-8"); //System.out.println(name + " = " + value); hashMap.put(name, value); } else { //檔案 String name = item.getName(); fileName = System.currentTimeMillis() + name.substring(name.lastIndexOf(".")); // item.write(new File(dir, System.currentTimeMillis() + name.substring(name.lastIndexOf(".")))); item.write(new File(dir, fileName)); hashMap.put("imgs"+i,realPath.substring(realPath.lastIndexOf("\\")).substring(1) +"/"+ fileName); } } hashMap.put("num",i+""); } catch (Exception e) { e.printStackTrace(); logger.error("圖片上傳失敗。",e); } return hashMap; } /** * 以JSON格式輸出 * @param response */ protected void responseOutWithJson(HttpServletResponse response, Object responseObject) { //將實體物件轉換為JSON Object轉換 JSONObject responseJSONObject = JSONObject.fromObject(responseObject); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); PrintWriter out = null; try { out = response.getWriter(); out.append(responseJSONObject.toString()); logger.debug("返回是\n"); logger.debug(responseJSONObject.toString()); } catch (IOException e) { e.printStackTrace(); } finally { if (out != null) { out.close(); } } } }
結果基類
package com.ninepoint.babystar.server.bean; import java.io.Serializable; import net.sf.json.JSONObject; /** * 請求返回結果基類。 * 返回結果的公共資料可以放在此類 * @author nier_ni * */ public class ResultBaseBean implements Serializable{ private static final long serialVersionUID = 7755697531438413626L; /** * 請求結果 1代表成功 0代表失敗 * 預設為成功 */ protected int result = 1; /** * 錯誤編碼 * 只有當 result為0時才有 errorCode 和 errorMsg */ protected String errorCode = ""; /**錯誤資訊*/ protected String errorMsg = ""; protected Object data = null; public Object getData() { return data; } public void setData(Object data) { this.data = data; } public int getResult() { return result; } public void setResult(int result) { this.result = result; } public String getErrorCode() { return errorCode; } public void setErrorCode(String errorCode) { this.errorCode = errorCode; } public String getErrorMsg() { return errorMsg; } public void setErrorMsg(String errorMsg) { this.errorMsg = errorMsg; } public JSONObject toJsonObject(){ JSONObject jo = new JSONObject(); jo.put("result", result); jo.put("errorCode", errorCode); jo.put("errorMsg", errorMsg); jo.put("data", data.toString()); return jo; } @Override public String toString() { return this.toJsonObject().toString(); } }
web.xml配置
<servlet> <span style="white-space:pre"> </span><servlet-name>uploadFileServlet</servlet-name> <span style="white-space:pre"> </span><servlet-class>com.ninepoint.babystar.server.action.UploadFileServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>uploadFileServlet</servlet-name> <url-pattern>/uploadFileServlet</url-pattern> </servlet-mapping>
相關推薦
Android、IOS 圖片上傳介面(Java實現Servlet)。
package com.ninepoint.babystar.server.action; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; imp
【移動端實現】相機喚起及圖片上傳功能(包括微信)
前言 目前有個需求是圖片拍照上傳的功能,但是我就是死活掉不起相機。。。總是開啟的是檔案目錄OR上傳圖片。。。。而不是相機。。。 所以對比了下 程式碼: 參考了百度移動端實現方式。。。程式碼很簡單,對就這一句! <input type="file" acce
改變dede圖片上傳路徑(商品-縮圖)去掉/allimg/ymd/
include\common.inc.phpline185://上傳的普通圖片的路徑,建議按預設//lyy $cfg_image_dir = $cfg_medias_dir.'/allimg';$cfg
php圖片上傳類(支持縮放、裁剪、圖片縮略功能)
php圖片上傳類(支持縮放、裁剪、圖片縮代碼: /** * @author [Lee] <[<[email protected]>]> * 1、自動驗證文件是表單提交的文件還是base64流提交的文件 * 2、驗證圖片類型是否合法 * 3、驗證圖片尺寸是否合法 * 4、驗證圖片大小是否合法
PHP 圖片上傳 (AIP圖片上傳介面,視訊上傳同理,只需改動jpg,png等為mp4,flv等)
PHP上傳的簡單案例: Html檔案:<html> <form action="index.php" name="form" method="post" enctype="multipart/form-data"> <input ty
ASP.NET Core WebAPI圖片上傳介面之整合IdentityServer4授權訪問(附原始碼)
點選上方“程式設計師大咖”,選擇“置頂公眾號”關鍵時刻,第一時間送達!來源:依樂祝cnblogs
ssm整合-圖片上傳功能(轉)
需要 PE 添加用戶 名稱 simple target url 完整 dsi 本文介紹 ssm (Spring+SpringMVC+Mybatis)實現上傳功能。 以一個添加用戶的案例介紹(主要是將上傳文件)。 一、需求介紹 我們要實現添加用戶的時候上傳圖片(其實任何文件都
二十七、單張圖片上傳預覽
第一部分 ajax 效果 document 圖片 pos itl .data title html部分 <div class="new-store-phone"> <span class="phone-title">營業執照
app端圖片上傳介面(tp5)
//檢視層 <div class="approve_NI_3"> <div class="approve_NI_3A"> &l
UEditor 圖片上傳配置(PHP)
修改config.php檔案第11,12行 線上 "imageUrlPrefix": "http://www.leition.com/", /* 圖片訪問路徑字首 */ "imagePathFormat": "upload/image/{yyyy}{mm}{dd}/
IOS 圖片上傳處理 圖片壓縮 圖片處理
提到從攝像頭/相簿獲取圖片是面向終端使用者的,由使用者去瀏覽並選擇圖片為程式使用。在這裡,我們需要過UIImagePickerController類來和使用者互動。 使用UIImagePickerController和使用者互動,我們需要實現2個協議<UIImagePicker
微信小微商戶圖片上傳介面
先貼上圖片上傳文件地址 https://pay.weixin.qq.com/wiki/doc/api/download/img_upload.pdf 圖片上傳介面返回的media_id在申請入駐介面時有用,所以一開始就得把這個調通,才能繼續往下走申請入駐介面。 下面直接上
記錄一次使用form表單完成圖片上傳功能(相容ie9)
1.前臺頁面 <div class="dform_con" style="position: relative;" id="uploadform"> <iframe id="file_upload_return" style="d
Springmvc上傳單張圖片、多圖片上傳並顯示圖片
1、在pom加入jar: <dependency> <groupId>commons-fileupload</groupId> <artifac
圖片上傳功能(FastDFS圖片伺服器 kindEditor富文字編輯器)
第一步 : 新增jar包 Commons-io、fileupload,兩個jar包 第二步:在springmvc.xml中配置多媒體解析器 &
Asp.NetCoreWebApi圖片上傳介面(二)整合IdentityServer4授權訪問(附原始碼)
寫在前面 本文地址:http://www.cnblogs.com/yilezhu/p/9315644.html 作者:yilezhu 上一篇關於Asp.Net Core Web Api圖片上傳的文章使用的是mongoDB進行圖片的儲存,文章釋出後,張隊就來了一句,說沒有使用GridFS。的確博主只是進行了簡
tp5中圖片上傳介面
1:移動端頁面:2:表單:重點圖片的uploadFile()事件<div id="approve_NI"> <div class="approve_NI_top"> <div class="approve_NI_top2"&g
springmvc圖片上傳、jquery 圖片上傳預覽
寬為限 緊用功 功夫到 滯塞通 簡介 專案需求,需要做圖片上傳功能,圖片上傳肯定得給個預覽嘛,然後就找了下面這個方案 ajaxfileupload外掛上傳 ajaxfileupload.js網上傳了好幾個版本,選擇自己可以使用的就好了。這個外掛是N多
spring boot使用nginx和ftp伺服器實現圖片上傳下載(windows server)
本人使用的springboot為1.5.6版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-pa
vue 圖片上傳元件(簡單封裝)
import {getUploadImg,saveUploadImg,removeUploadImg} from "../../util/tool/home" export default { props:["orderId",'skuId'] , data(