項目是jfinal框架實現的時候,當iOS向後臺發起請求時,後臺接受不到請求參數,緣由是iOS發起的請求格式是multipart-data類型的,jfinal不能直接處理這種格式,須要先調用getFile系列方法才能使getPara系列方法正常工做,由於multipart request須要經過getFile系列方法解析請求體中的數據,包括參數。一樣的道理在Interceptor、Validator中也須要先調用getFile。解決步驟以下:框架
/** * 解決jfianl不能獲取mutipart-data類型參數的問題 */ public class MultiInterceptor implements Interceptor { public void intercept(Invocation invocation) { String contentType = invocation.getController().getRequest().getContentType(); if (contentType != null && contentType.toLowerCase().contains("multipart")) { invocation.getController().getFiles(); } invocation.invoke(); } }
public void configRoute(Routes routes) { routes.addInterceptor(new MultiInterceptor()); routes.add("/hello", MyController.class); }