服务器:
public String uploadInfo() throws IOException{
System.out.println(username + "," +password);
if(mPhoto == null){
System.out.println(mPhotoFileName + "is null .");
}
String dir = ServletActionContext.getServletContext().getRealPath("files");
File file = new File(dir,mPhotoFileName);
FileUtils.copyFile(mPhoto,file);//上传文件
return null;
}
ERROR org.apache.struts2.dispatcher.Dispatcher - Could not find action or result
/imooc_okhttp/uploadInfo
客户端:
public void doUpload(View view) throws IOException { File file = new File(Environment.getExternalStorageDirectory(),"temp.jpg"); if (!file.exists()){ L.e(file.getAbsolutePath()+"not exist!"); return; } RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("username","hyman") .addFormDataPart("password","1234") .addFormDataPart("mPhoto","temp.jpg",RequestBody.create(MediaType.parse("application/octet-stream"),file)) .build(); Request request = new Request.Builder() .url(BaseUrl+"uploadInfo") .post(requestBody) .build(); executeRequest(request); }
点击按钮之后是html的文档
原因是上传的图片太大,看了同学们的评论,原来需要在在structs.xml中加一句:
<constant name="struts.multipart.maxSize" value="9000000"/>
9000000是文件大小的限制