前提
在我们的开发过程中,会遇到将文件(图片,视频等)转为base64字符串内容的时候,下面是PHP和Java的代码示例
Java示例
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import com.itextpdf.text.pdf.codec.Base64;
import org.apache.commons.io.FileUtils;
public class JuheAPIUtil {
public static void main(String[] args) {
String filePath = "F:/ocr/aaa.jpg";//图片(视频)路径
System.out.println(getImageStr(filePath));
}
/**方法一
* 根据图片路径获取图片的base64后的内容
*
* @param imgFile
* @return base64后的结果
*/
public static String getImageStr(String imgFile) {
InputStream inputStream = null;
byte[] data = null;
try {
inputStream = new FileInputStream(imgFile);
data = new byte[inputStream.available()];
inputStream.read(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
}
}
}
return Base64.encodeBytes(data);
}
/**方法二
* 根据图片路径获取图片的base64后的内容
*
* @param imgFile 图片路径
* @return base64后的结果
*/
public static String fileToBase64(String imgFile) throws IOException {
File file = new File(filePath);
return Base64.encodeBytes(FileUtils.readFileToByteArray(file));
}
}
PHP示例
<?php
$img = 'F:/ocr/aaa.jpg';
$base64_img = base64EncodeImage($img);
echo $base64_img;
//图片base64字符串
function base64EncodeImage($image_file)
{
$image_data = file_get_contents($image_file);
//$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = base64_encode($image_data);
return $base64_image;
}