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

java文件:

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL; public class HttpUpload {
public static final String API="http://localhost/test.php";
public static void main(String[] args) throws Exception {
String imgUrl="E:\\11.png";
String result=uploadImg(imgUrl);
System.out.println(result);
} private static String uploadImg(String imgUrl) throws Exception {
File imgFile=new File(imgUrl);
URL url=new URL(API);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setConnectTimeout(10000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=----123456789");
conn.setDoInput(true);
conn.setDoOutput(true); OutputStream os=new DataOutputStream(conn.getOutputStream());
StringBuilder body=new StringBuilder();
body.append("------123456789\r\n");
body.append("Content-Disposition: form-data; name='img'; filename='"+imgFile.getName()+"'\r\n");
body.append("Content-Type: image/jpeg\r\n\r\n");
os.write(body.toString().getBytes()); InputStream is=new FileInputStream(imgFile);
byte[] b=new byte[1024];
int len=0;
while((len=is.read(b))!=-1){
os.write(b,0,len);
}
String end="\r\n------123456789--";
os.write(end.getBytes()); //输出返回结果
InputStream input=conn.getInputStream();
byte[] res=new byte[1024];
int resLen=input.read(res);
return new String(res,0,resLen);
}
}

PHP文件

<?php
class Test{
public static function main(){
header("content-type:text/html;charset=utf-8");
if(!empty($_FILES)){
$test=new Test();
$test->uploadImg();
exit;
}
}
/**
* 上传图片
*/
public function uploadImg(){
$res=move_uploaded_file($_FILES['img']['tmp_name'], './'.$_FILES['img']['name']);
if($res){
echo "upload success";
}else{
echo "upload error";
}
}
}
Test::main();
?>
<form enctype="multipart/form-data" action="test.php" method="post">
<input type="file" name="img" />
<input type="submit" value="上传" />
</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. 40. 组合总和 II leetcode JAVA

    题目: 给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的每个数字在每个组合中只能使 ...

  2. 对Java意义重大的7个性能指标

      本文中,小编搜集了7个最有影响的衡量标注,让你可以不依赖日志文件来了解应用程序现在,让我们看看这些性能指标,并了解如何查看并收集它们.: 一,响应时间和吞吐量 根据应用程序的响应时间可以知道程序完 ...

  3. API自动化测试 Soap UI工具介绍

    一.   建立测试用例 (一)   基本概念 soapUI 中工程的层次结构 项目名称:位于最上层 (BookStoreTest),项目可以包含多个服务的定义. REST 服务定义:服务其实是对多个 ...

  4. Laravel一些常用命令整理

    自动创建项目 laravel new || laravel new xxx || composer create-project --prefer-dist laravel/laravel blogc ...

  5. CSS的nth-of-type和nth-child的区别

    <!--源代码--><!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  6. SyntaxError: Non-UTF-8 code starting with '\xb6' in file XX.py

    导致出错的根源就是编码问题. 解决方案是: 在程序最上面加上: # coding=gbk

  7. 大数据-spark HA集群搭建

    一.安装scala 我们安装的是scala-2.11.8  5台机器全部安装 下载需要的安装包,放到特定的目录下/opt/workspace/并进行解压 1.解压缩 [root@master1 ~]# ...

  8. git克隆和上传项目

    软件环境: 1. VS2017 2. Git ver 2.17.0.1 3. gitee.com 目的: 已有的本地项目(新建)上传到码云,使本地可以和码云同步 尝试: 先在码云上建立项目,项目名称和 ...

  9. 数组合并去重Array.from

    function uniqArr(){ if(arguments.length == 0) return []; var arr = arguments[0]; for(var i=1;i<ar ...

  10. zipimport.ZipImportError: can't find module 'encodings'

    环境说明:windows 7.python 3.7.0.pyinstaller 3.1. 解决方案:升级pyinstaller 到 3.4.