今天就跟大家聊聊有关Android中如何使用HttpURLConnection实现一个文件上传,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
客户端代码:
public static String uploadFile(String uploadUrl, String filePath) { Log.v(TAG, "url:" + uploadUrl); Log.v(TAG, "filePath:" + filePath); String nextLine = "\r\n"; String dividerStart = "--"; String boundary = "******"; try { URL url = new URL(uploadUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setChunkedStreamingMode(1024 * 256); connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); connection.setRequestMethod("POST"); // 设置Http请求头 connection.setRequestProperty("Connection", "Keep-Alive"); connection.setRequestProperty("Charset", "UTF-8"); //必须在Content-Type 请求头中指定分界符 connection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); //定义数据写入流,准备上传文件 DataOutputStream dos = new DataOutputStream(connection.getOutputStream()); dos.writeBytes(dividerStart + boundary + nextLine); //设置与上传文件相关的信息 dos.writeBytes("Content-Disposition: form-data; name=\"file\"; filename=\"" + filePath.substring(filePath.lastIndexOf("/") + 1) + "\"" + nextLine); dos.writeBytes(nextLine); FileInputStream fis = new FileInputStream(filePath); byte[] buffer = new byte[1024 * 32]; int count; // 读取文件内容,并写入OutputStream对象 while ((count = fis.read(buffer)) != -1) { dos.write(buffer, 0, count); } fis.close(); dos.writeBytes(nextLine); dos.writeBytes(dividerStart + boundary + dividerStart + nextLine); dos.flush(); // 开始读取从服务器传过来的信息 InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); String result = br.readLine(); dos.close(); is.close(); connection.disconnect(); return result; } catch (IOException e) { e.printStackTrace(); } return null;}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 探讨Uncomtrade数据库的安全防护措施
- Java 如何获取某个接口的实现类?(Java怎么获取某个接口的实现类)
- Java中如何正确使用 collections.shuffle 方法?(Java中collections.shuffle怎么使用)
- Java Swing 中常用的布局有哪些?(java swing常用布局有哪些)
- 如何通过 Java Reflection 获取泛型信息?(java reflection如何获取泛型信息)
- 如何自定义 Java 泛型通配符?(java泛型通配符怎么自定义)
- Java Spring 注解与 XML 配置的差异究竟有哪些?(java spring注解与XML配置的区别是什么)
- Java 动态线程池对性能究竟有哪些影响呢?(Java动态线程池对性能的影响)
- 在 Java 中,Guava 究竟有哪些作用呢?(java中guava的作用是什么)
- 软考高项证书能个税抵扣吗?软考高项证书个税啥时候填报?
猜你喜欢
AI推送时光机使用Servlet3.0如何实现一个上传文件功能
后端开发2023-05-31
Android使用xUtils3.0实现文件上传
后端开发2022-06-06
在Java项目中使用WebUploader如何实现一个文件上传功能
后端开发2023-05-31
在java项目中使用Demo如何实现一个文件上传功能
后端开发2023-05-31
vue中如何使用html5实现文件上传
后端开发2024-04-02
利用javaweb如何实现一个文件上传功能
后端开发2023-05-31
在Java项目中使用fileupload组件如何实现一个文件上传功能
后端开发2023-05-31
如何在Java中利用FileUpload实现一个文件上传功能
后端开发2023-05-31
如何在Java中利用COS实现一个文件上传功能
后端开发2023-05-31
如何在 Golang 中使用 RPC 实现文件上传?
后端开发2024-05-13
如何在 Golang 中使用 gRPC 实现文件上传?
后端开发2024-05-13
如何在 Golang 中使用 WebSockets 实现文件上传?
后端开发2024-05-13
如何使用PHP实现上传APK文件
后端开发2023-07-05
使用MultipartFile怎么实现一个文件上传功能
后端开发2023-05-30
怎么使用Struts2实现一个文件上传功能
后端开发2023-05-31
如何使用MySQL和Java实现一个简单的文件上传功能
后端开发2024-04-12
咦!没有更多了?去看看其它编程学习网 内容吧