现在不管是博客论坛还是企业办公,都离不开资源的共享。通过文件上传的方式,与大家同分享,从而达到大众间广泛的沟通和交流,我们既可以从中获得更多的知识和经验,也能通过他人的反馈达到自我改进和提升的目的。
下面介绍文件如何从本地发送到服务器的
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Base64Test { public static void main(String[] args) { String strImg = GetImageStr(); System.out.println(strImg); GenerateImage(strImg); } //图片转化成base64字符串 public static String GetImageStr() {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile = "D:\\360CloudUI\\tupian\\jt.jpg";//待处理的图片 InputStream in = null; byte[] data = null; //读取图片字节数组 try { in = new FileInputStream(imgFile); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { e.printStackTrace(); } //对字节数组Base64编码 BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);//返回Base64编码过的字节数组字符串 } //base64字符串转化成图片 public static boolean GenerateImage(String imgStr) { //对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) //图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { //Base64解码 byte[] b = decoder.decodeBuffer(imgStr); for(int i=0;i<b.length;++i) { if(b[i]<0) {//调整异常数据 b[i]+=256; } } //生成jpeg图片 String imgFilePath = "D:\\360CloudUI\\tupian\\new.jpg";//新生成的图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true; } catch (Exception e) { return false; } }}
package zPicture;public class Picture {public static final String DATA_IMAGE_PATH = PathUtil.getProjectPath(Picture.class, "zMP3").replace("zMP3","TEST/images/");public static boolean test() {System.out.println(DATA_IMAGE_PATH);String imageName = null;try {imageName = CustomStringUtil.getExtension();//String imageName="";//图片存储路径String imagePath = DATA_IMAGE_PATH + imageName + ".jpg" ; String imageBase64="/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB\nAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAA8AFoDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivw\nv/aK/wCC3Hh74W/Grxt8J/gh+zV4h/aD0n4XeJr7wX8R/iKnxT8L/Djw8vjHRZmtvFPhf4cWuqaD\n4jn8eal4TvUm0XXbvUJvC2gQ+I7W/wBGs9aumtproe9f8FZf2yfiP+yl8GPAXhX4JGw074xftC+L\ntZ+HvhHxrq9l/aGmfDPQdG8Ia34l8afEWPS3ZbfW/EWi2FpZaf4Q0S9cadP4j1Sx1LVY7nR9N1LT\n5f5aPDHh6y8J6Dp+gWE15dQ2Mchm1DU7l7zVtW1C6uZ73VNb1m+lPm3+sa3qNxc6rq99KTLd6ldX\nVy53Oc/i/id4jYrhqth8nyKrCOZ+5iMbWqYeFaFDDzUnRoxjVUoSqV0ueb5W6dPktJTk2f6H/Qz+\n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\n";String imageType="jpg";//将字符串转化成图片boolean isSuccess = CustomStringUtil.base64StringToImage(imageBase64, imagePath,imageType);System.out.println(isSuccess);return isSuccess;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}public static void main(String[] args) {test();}}
1.测试类
package zPicture;
public class PathUtil {
/**
* 获取工程路径
* @param T
* @param projectName
* @return
*/
public static String getProjectPath(Class<?> T,String projectName){
String path = T.getResource("/").toString();
System.out.println(path);
path = path.substring(0,path.indexOf(projectName))+projectName;
System.out.println(projectName);
System.out.println(path);
System.out.println(path.charAt(1));
System.out.println(path.indexOf(":"));//4
path = path.substring(path.indexOf(":")+1,path.length());
System.out.println(path);// /D:/workspace2/zMP3
// file:/D:/workspace2/zMP3/build/classes/
// zMP3
// file:/D:/workspace2/zMP3
// path+="/WEB-INF/classes/setting.properties";
path = path.replaceAll("%20", " ");
System.out.println(path);
return path;
}
}
2.工具类
3.工具类(2)
package zPicture;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Calendar;
import javax.imageio.ImageIO;
import org.apache.commons.lang3.StringUtils;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class CustomStringUtil {
/**
* 输出异常
*
* @param e
* @return
*/
public static String getErrorInfoFromException(Exception e) {
try {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
return "\r\n" + sw.toString() + "\r\n";
} catch (Exception e2) {
return "bad getErrorInfoFromException";
}
}
/**
* 图片转字符串
* @return
*/
public static String getImageBinary(String imagePath,String imageType) {
BASE64Encoder encoder = new sun.misc.BASE64Encoder();
File f = new File(imagePath);
BufferedImage bi;
try {
bi = ImageIO.read(f);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, imageType, baos);
byte[] bytes = baos.toByteArray();
return encoder.encodeBuffer(bytes).trim();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 字符串转图片
* @param base64String
*/
public static boolean base64StringToImage(String base64String,String toImagePath,String imageType) {
try {
BASE64Decoder decoder = new sun.misc.BASE64Decoder();
byte[] bytes1 = decoder.decodeBuffer(base64String);
ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
RenderedImage bi1 = ImageIO.read(bais);
File w2 = new File(toImagePath);// 可以是jpg,png,gif格式
if(!w2.exists()){
w2.createNewFile();
System.out.println("no exist=====");
}
System.out.println("pass...........");
return ImageIO.write(bi1, imageType, w2);// 不管输出什么格式图片,此处不需改动
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
/**
* 获取时间随机数
* @return
* @throws Exception
*/
public static String getExtension()throws Exception{
try {
//线程睡会
Thread.sleep(1);
//生成日期实体
Calendar calendar = Calendar.getInstance();
String extension = calendar.getTime().getTime()+"";
return extension;//专网及EZVP公网
} catch (InterruptedException e) {
e.printStackTrace();
return null;
}
}
/**
* 将数组转换为字符串
* @param array 数组对象
* @param separator 分割字符
* @return
* @throws Exception
*/
public static String getArrayToString(Object[] array, String separator)throws Exception{
String resultStr = StringUtils.join(array, separator);
return resultStr;
}
}
}
附加一篇转载帮助大家更好的理解:下面可实现图片与字符串互转
package zPicture;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class Base64Test
{
public static void main(String[] args)
{
String strImg = GetImageStr();
System.out.println(strImg);
GenerateImage(strImg);
}
//图片转化成base64字符串
public static String GetImageStr()
{//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
String imgFile = "D:\\360CloudUI\\tupian\\jt.jpg";//待处理的图片
InputStream in = null;
byte[] data = null;
//读取图片字节数组
try
{
in = new FileInputStream(imgFile);
data = new byte[in.available()];
in.read(data);
in.close();
}
catch (IOException e)
{
e.printStackTrace();
}
//对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);//返回Base64编码过的字节数组字符串
}
//base64字符串转化成图片
public static boolean GenerateImage(String imgStr)
{ //对字节数组字符串进行Base64解码并生成图片
if (imgStr == null) //图像数据为空
return false;
BASE64Decoder decoder = new BASE64Decoder();
try
{
//Base64解码
byte[] b = decoder.decodeBuffer(imgStr);
for(int i=0;i<b.length;++i)
{
if(b[i]<0)
{//调整异常数据
b[i]+=256;
}
}
//生成jpeg图片
String imgFilePath = "D:\\360CloudUI\\tupian\\new.jpg";//新生成的图片
OutputStream out = new FileOutputStream(imgFilePath);
out.write(b);
out.flush();
out.close();
return true;
}
catch (Exception e)
{
return false;
}
}
}
附加一篇转载文件帮助大家理解图片转成字符串,下面介绍的是图片base64编码与解码代码
package zPicture;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class Base64Test { public static void main(String[] args) { String strImg = GetImageStr(); System.out.println(strImg); GenerateImage(strImg); } //图片转化成base64字符串 public static String GetImageStr() {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理 String imgFile = "D:\\360CloudUI\\tupian\\jt.jpg";//待处理的图片 InputStream in = null; byte[] data = null; //读取图片字节数组 try { in = new FileInputStream(imgFile); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { e.printStackTrace(); } //对字节数组Base64编码 BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);//返回Base64编码过的字节数组字符串 } //base64字符串转化成图片 public static boolean GenerateImage(String imgStr) { //对字节数组字符串进行Base64解码并生成图片 if (imgStr == null) //图像数据为空 return false; BASE64Decoder decoder = new BASE64Decoder(); try { //Base64解码 byte[] b = decoder.decodeBuffer(imgStr); for(int i=0;i<b.length;++i) { if(b[i]<0) {//调整异常数据 b[i]+=256; } } //生成jpeg图片 String imgFilePath = "D:\\360CloudUI\\tupian\\new.jsp";//新生成的图片 OutputStream out = new FileOutputStream(imgFilePath); out.write(b); out.flush(); out.close(); return true; } catch (Exception e) { return false; } }}