[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>

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/industrynews/12628.html

(0)
上一篇 2021年7月19日 14:45
下一篇 2021年7月19日 14:45

相关推荐

发表回复

登录后才能评论