服务器怎么接收从androidmultipartbody传送的数据

如题所述

第1个回答  2017-08-22
直接用httphandler或者httpwebapi处理multipart-data请求java:Filefile=newFile("F:\\tmp\\taiping\\conf-1.json");MultipartEntitympEntity=newMultipartEntity();//文件传输ContentBodycbFile=newFileBody(file);mpEntity.addPart("fileContent",cbFile);CloseableHttpClientclient=HttpClients.createDefault();HttpPostpost=newHttpPost("values");post.setEntity(mpEntity);try{CloseableHttpResponseresponse=client.execute(post);Stringresult=IOUtils.toString(response.getEntity().getContent());System.out.println(result);}catch(Exceptione){e.printStackTrace();}.nethttpwebapipublicHttpResponseMessagePost(){varcontent=Request.Content;varuploadDir=HttpContext.Current.Server.MapPath("~/Upload");varnewFileName="";varsp=newMultipartMemoryStreamProvider();Task.Run(async()=>awaitRequest.Content.ReadAsMultipartAsync(sp)).Wait();foreach(variteminsp.Contents){if(item.Headers.ContentDisposition.FileName!=null){varfilename=item.Headers.ContentDisposition.FileName.Replace("\"","");newFileName=uploadDir+"\\"+filename;varms=item.ReadAsStreamAsync().Result;using(varbr=newBinaryReader(ms)){vardata=br.ReadBytes((int)ms.Length);File.WriteAllBytes(newFileName,data);}}}varresult=newDictionary();result.Add("result",newFileName);varresp=Request.CreateResponse(HttpStatusCode.OK,result);resp.Content.Headers.ContentType=newMediaTypeHeaderValue("text/plain");returnresp;}
相似回答