[javaSE] java上传图片给PHP

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>
时间: 2024-10-10 01:52:55

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

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

项目中有这个需求: 1)上传文件通过公司平台的校验,校验成功后,通过接口,返回文件流: 2)我们根据这个文件流进行操作.这里,先将文件流复制文件到项目临时目录WEB-INF/temp;文件使用完毕,删除之: 项目中用到了下面几点: 解压zip.rar文件: 临时文件存放,使用完毕删除之: 对压缩包中的图片进行裁剪,生成预览图,并保存: 根据产品族.产品类型.产品系列展示图片: 项目代码比较多,慢慢贴出来,不足之处欢迎指正. 1.项目结构: 2.相关代码: ProductController: p

学校记录——java上传图片

上传图片: jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fn&qu

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

准备工作:需要使用coomos-net jar包.下载地址 一. 上传图片到FTP,文件大小为0的问题,解决:将ftp模式修改为Passive模式就可以了. //将ftp模式修改为Passive模式 ftpClient.enterLocalPassiveMode(); 二.配置文件的操作,具体介绍请看Java中Properties类的用法总结 1.使用.properties配置文件的形式定义相关常量. 2.在工具类中导入配置文件 private static Properties getFtpC

[javaSE] java获取文件列表

递归测试 import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class FilesDemo { private static final String FILE_PATH = "./"; private static List<Map<String, String>&

JavaSE - Java发展概述

(内容可能有点琐碎,只是我总结的一点发展要点) SUN公司:Stanford University Network(斯坦福大学校园网),1982年成立. java发展前身:Oak,1991年出现. Ork:中文意思是橡树,是SUN公司的工程师在C++的基础之上开发的一个新平台. Ork开发的一套浏览器:HotJava. Java主设计师:James Gosling. Ork --> Java,Ork当时已经被注册了,在重命名时,想起了一种南美洲的咖啡,名字叫做Java,因此Java的Logo是咖

java上传图片压缩工具类

package com.up.util; import java.awt.Image; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.Fi

java上传图片剪切工具类

package com.up.util; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageR

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

Thumbnailator 是一个优秀的图片处理的Google开源Java类库.处理效果远比Java API的好.从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量.还支持对一个目录的所有图片进行批量处理操作.支持的处理操作:图片缩放,区域裁剪,水印,旋转,保持比例.另外值得一提的是,Thumbnailator至今仍不断更新,怎么样,感觉很有保障吧!Thumbnailator官网:h

JavaSE复习日记 : java包机制

这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; package com.jaovo.webTeah.db; /* * Java包机制 * * 也就是软件包机制,软件世界中的两大难题:命名和缓存; * * 在程序命名中取一个言简意赅的名字很难,有时候名字取出来发现这个名字已经存在,包括IP,域名,MAC地址冲突等,在计算机中都出现了命名冲突的问题,