用Java模拟表单(或iPhone、Android客户端)上传文件
16lz
2021-01-25
开发一个iPhone客户端,客户端调用我写的接口上传图片。工程需要自己测试,网上Google,找到了一个可用的代码。
参考:http://bigcat.easymorse.com/?p=764
package com.test;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStreamReader;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpException;import org.apache.commons.httpclient.methods.PostMethod;import org.apache.commons.httpclient.methods.multipart.FilePart;import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;import org.apache.commons.httpclient.methods.multipart.Part;public class Main3 {/** * @param args * @throws IOException * @throws HttpException */public static void main(String[] args) throws HttpException, IOException {File file = new File("d:/abcd.jpg");PostMethod filePost = new PostMethod("http://localhost/feed/UploadFeedPicture.do");Part[] parts = { new FilePart("picture", file) };filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));HttpClient clients = new HttpClient();int status = clients.executeMethod(filePost);try {BufferedReader rd = new BufferedReader(new InputStreamReader(filePost.getResponseBodyAsStream(), "UTF-8"));StringBuffer stringBuffer = new StringBuffer();String line;while ((line = rd.readLine()) != null) {stringBuffer.append(line);}rd.close();System.out.println("接受到的流是:" + stringBuffer + "—-" + status);} catch (Exception e) {throw new RuntimeException("error", e);}}}
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- adroid单元测试
- Android百度地图——路线规划搜索(二)
- Android(安卓)开发TCP协议时,报错NetworkOnMainThreadException
- Android硬件渲染之LockCanvas()
- 浅析Android(安卓)Dialog中setContentView()方法
- android:如何开启webview的LBS功能