java通过http协议上传图片给php文件,对安卓上传图片给php接口的理解

java文件:

  1. import java.io.DataOutputStream;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6. import java.net.HttpURLConnection;
  7. import java.net.URL;
  8.  
  9. public class HttpUpload {
  10. public static final String API="http://localhost/test.php";
  11. public static void main(String[] args) throws Exception {
  12. String imgUrl="E:\\11.png";
  13. String result=uploadImg(imgUrl);
  14. System.out.println(result);
  15. }
  16.  
  17. private static String uploadImg(String imgUrl) throws Exception {
  18. File imgFile=new File(imgUrl);
  19. URL url=new URL(API);
  20. HttpURLConnection conn=(HttpURLConnection) url.openConnection();
  21. conn.setConnectTimeout(10000);
  22. conn.setRequestMethod("POST");
  23. conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=----123456789");
  24. conn.setDoInput(true);
  25. conn.setDoOutput(true);
  26.  
  27. OutputStream os=new DataOutputStream(conn.getOutputStream());
  28. StringBuilder body=new StringBuilder();
  29. body.append("------123456789\r\n");
  30. body.append("Content-Disposition: form-data; name='img'; filename='"+imgFile.getName()+"'\r\n");
  31. body.append("Content-Type: image/jpeg\r\n\r\n");
  32. os.write(body.toString().getBytes());
  33.  
  34. InputStream is=new FileInputStream(imgFile);
  35. byte[] b=new byte[1024];
  36. int len=0;
  37. while((len=is.read(b))!=-1){
  38. os.write(b,0,len);
  39. }
  40. String end="\r\n------123456789--";
  41. os.write(end.getBytes());
  42.  
  43. //输出返回结果
  44. InputStream input=conn.getInputStream();
  45. byte[] res=new byte[1024];
  46. int resLen=input.read(res);
  47. return new String(res,0,resLen);
  48. }
  49. }

PHP文件

  1. <?php
  2. class Test{
  3. public static function main(){
  4. header("content-type:text/html;charset=utf-8");
  5. if(!empty($_FILES)){
  6. $test=new Test();
  7. $test->uploadImg();
  8. exit;
  9. }
  10. }
  11. /**
  12. * 上传图片
  13. */
  14. public function uploadImg(){
  15. $res=move_uploaded_file($_FILES['img']['tmp_name'], './'.$_FILES['img']['name']);
  16. if($res){
  17. echo "upload success";
  18. }else{
  19. echo "upload error";
  20. }
  21. }
  22. }
  23. Test::main();
  24. ?>
  25. <form enctype="multipart/form-data" action="test.php" method="post">
  26. <input type="file" name="img" />
  27. <input type="submit" value="上传" />
  28. </form>

[javaSE] java上传图片给PHP的更多相关文章

  1. JSP+java上传图片到服务器,并将地址保存至MYSQL + JSP网页显示服务器的图片

    这两天遇到个需求——用户头像修改功能. 查了好多资料,不是代码不全,就是某些高端框架,卡了好久,今已实现,分享给大家,如果有更好的方法,非常感谢可以在下方评论区写出 一.整体项目架构 二.web.xm ...

  2. React+ajax+java 上传图片并预览

    之前有在网上找ajax上传图片的资料,大部分的人写得都是用jQuery,但是在这里用JQuery就大才小用了,所以我就自己写了,先上图. 由上图,首先点击上面的选择文件,在选择图片之后,将会自动上传图 ...

  3. java上传图片到数据库,涉及压缩文件zip/rar上传等

    项目中有这个需求: 1)上传文件通过公司平台的校验,校验成功后,通过接口,返回文件流: 2)我们根据这个文件流进行操作.这里,先将文件流复制文件到项目临时目录WEB-INF/temp;文件使用完毕,删 ...

  4. JAVA 上传图片功能

    前后端实现上传图片功能(JAVA代码) 1.前端大概 请求头必须为AJAX请求头: 'X-Requested-With': 'XMLHttpRequest' 一般是指网页中存在的Content-Typ ...

  5. Java上传图片到Ftp,包含上传后文件大小为0的问题和Properties配置文件的读取

    准备工作:需要使用coomos-net jar包.下载地址 一. 上传图片到FTP,文件大小为0的问题,解决:将ftp模式修改为Passive模式就可以了. //将ftp模式修改为Passive模式 ...

  6. java 上传图片

    1.导入smartupload.jar包 ,添加uploadIMG.jsp,upfileIMG.jsp. 2.需要在项目下面建立一个保存文件的文件夹pic或者upload 3.在调用的地方调用子框架u ...

  7. java上传图片或者文件

    package com.pat.postrequestemulator; import java.io.BufferedReader; import java.io.DataInputStream; ...

  8. java 上传图片 并压缩图片大小

    Thumbnailator 是一个优秀的图片处理的Google开源Java类库.处理效果远比Java API的好.从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生 ...

  9. [javaSE] java获取文件列表

    递归测试 import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis ...

随机推荐

  1. C#中List调用库函数sort进行升序排序

    private void button1_Click(object sender, EventArgs e) { List<int> demo2 = new List<int> ...

  2. ASP.NET Core中使用自定义验证属性控制访问权限

    在应用中,有时我们需要对访问的客户端进行有效性验证,只有提供有效凭证(AccessToken)的终端应用能访问我们的受控站点(如WebAPI站点),此时我们可以通过验证属性的方法来解决. 一.publ ...

  3. 洛谷P2462 [SDOI2007]游戏(哈希+最长路)

    题面 传送门 题解 我们把字符的出现次数哈希起来,然后把每个点向能在它之后的点连边.那么这显然是一个\(DAG\),直接求最长路就行了 //minamoto #include<bits/stdc ...

  4. centos 安装 Pip 的方法总结

    转自https://blog.csdn.net/u014236259/article/details/75212659 在我们安装Python后,如果未安装包管理工具pip,此时需要自己手动安装: 方 ...

  5. 2018-2019-2 网络对抗技术 20165314 Exp6 信息搜集与漏洞扫描

    一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测. ...

  6. CDQZ Day3

    模拟题 day3出题人: liu_runda题目名称 摆渡 摆车 背包源程序文件名 boat.cpp ju.cpp pack.cpp输入文件名 boat.in ju.in pack.in输出文件名 b ...

  7. [转] linux nc命令

    [From] https://blog.csdn.net/freeking101/article/details/53289198 NC 全名 Netcat (网络刀),作者是 Hobbit & ...

  8. 认识CSS中布局之文档流、浮动、定位以及叠放次序

    前端之HTML,CSS(七) CSS CSS布局的核心就是盒子的摆放,即CSS定位.而CSS中定位机制分为:普通流(nomal flow).浮动(float).定位(position). 普通流 普通 ...

  9. 论文阅读 | FPN:Feature Pyramid Networks for Object Detection

    论文地址:https://arxiv.org/pdf/1612.03144v2.pdf 代码地址:https://github.com/unsky/FPN 概述 FPN是FAIR发表在CVPR 201 ...

  10. Python——免费观看全网视频小程序

    说明,这个小程序是基于网站“全民解析”,调用该网站的接口,实现数据传输观看视频,若该网站凉凉,则此程序凉凉. 开始之前的分析: 进入全民解析网站,我们首先查看一下网页的html代码,发现该站观看视频的 ...