java 上传的图片大小为0

阅读: 评论:0

java 上传的图片大小为0

java 上传的图片大小为0

准备工作:需要使用coomos-net jar包。下载地址

一、 上传图片到FTP,文件大小为0的问题,解决:将ftp模式修改为Passive模式就可以了。

//将ftp模式修改为Passive模式

1.使用.properties配置文件的形式定义相关常量。

2.在工具类中导入配置文件

private staticProperties getFtpConfig(){

Properties p=newProperties();

String path=Thread.currentThread().getContextClassLoader().getResource("ftpConfig.properties").getPath();try{

p.load(newFileInputStream(path));//System.out.Property("ftpUsername"));//System.out.Property("ftpPassword"));//System.out.Property("ftpServerIP"));//System.out.Property("basePath"));

}catch(Exception e) {

e.printStackTrace();

}returnp;

}

Properties

3.调用该方法,这样就取到了配置文件里对应的数据。

private static String ftpUsername = getFtpConfig().getProperty("ftpUsername");private static String ftpPassword =getFtpConfig().getProperty("ftpPassword");private static String ftpServerIP=getFtpConfig().getProperty("ftpServerIP");private static String basePath = getFtpConfig().getProperty("basePath");//文件路径

三、下面开始讲上传ftp具体的操作

1.将前台传回的base64编码,进行拆分。 解码之前得去掉"data:image/jpeg;base64,"。

String ftpImgSrc="";if (!("".equals(base64ImgsString)) && base64ImgsString !=null) {

SimpleDateFormat dateFormatImg= new SimpleDateFormat("yyyyMMddHHmmss");

List imgBase64List =JSON.parseArray(base64ImgsString);for(Object object : imgBase64List) {

String[] imgBaseArray = String().split(",");

String base64Head= imgBaseArray[0];//图片后缀

String imgSuffix = base64Head.substring(base64Head.indexOf("/")+1, base64Head.indexOf(";"));//去掉base64编码字符串的前缀

String imgStr=imgBaseArray[1];//重命名图片文件,日期加工号

String newImgName = dateFormatImg.format(new Date()) +"_"+zjmWorkNumber+"."+imgSuffix;//向FTP服务器上传文件 ,返回路径

ftpImgSrc = FtpUtil.uploadFile("CZBG",newImgName,imgStr);

}

}

2.上传文件方法,参数为项目名,图片名称,图片加密后的字符串。

我的文件路径是ftp:/ftpIP//picture/大项目名/子项目名/yyyyMMdd/yyyyMMddHHmmss_xxx.jpg

/*** 向FTP服务器上传文件

*@authorAdministrator

* 2019年12月25日 下午1:45:34

*@paramprojectName 项目名

*@paramimgName 文件名

*@paramimgStr 图片码

*@return成功返回true,否则返回false

*@throwsFileNotFoundException*/

public static String uploadFile(String projectName,String imgName,String imgStr) throwsFileNotFoundException {

String result= "";

FTPClient ftpClient= newFTPClient();

String dfFolder= new SimpleDateFormat("yyyyMMdd").format(new Date());//分日期存放:20191225//FTP服务器文件存放路径。

String basePathProject = basePath +"/"+projectName;try{intreply;//连接FTP服务器,用默认端口直接连接FTP服务器

ftpClient.login(ftpUsername, ftpPassword);

reply&#ReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {

ftpClient.disconnect();

System.out.println("连接ftp失败!");returnresult;

}//将ftp模式修改为Passive模式

ftpClient.makeDirectory(basePathProject);//切换到对应项目文件夹下

ftpClient.changeWorkingDirectory(basePathProject);//创建当前日期文件夹

ftpClient.makeDirectory(dfFolder);//切换到上传目录

ftpClient.changeWorkingDirectory(dfFolder);

String filePath="ftp:/"+ftpServerIP+basePathProject+"/"+dfFolder+"/"+imgName;//上传图片

if (imgStr == null) //图像数据为空

returnresult;

BASE64Decoder decoder= newBASE64Decoder();try{//Base64解码

byte[] b =decoder.decodeBuffer(imgStr);for(int i=0;i

b[i]+=256;

}

}// //设置上传文件的类型为二进制类型

ftpClient.setFileType(ftpClient.BINARY_FILE_TYPE);

InputStream is= null;

is= newByteArrayInputStream(b);

ftpClient.storeFile(new Bytes("utf-8"), "iso-8859-1"), is);

is.close();//退出

ftpClient.logout();

result= filePath;//返回存的ftp路径

}catch(Exception e){

e.printStackTrace();returnresult;

}

}catch(IOException e) {

e.printStackTrace();

}finally{if(ftpClient.isConnected()) {try{

ftpClient.disconnect();

}catch(IOException ioe) {

}

}

}returnresult;

}

FTP上传方法

成功上传

问题:表单提交时因为图片太大,Ajax发送请求,后台接收都为null。

解决:修改tomcat  maxPostSize="-1" 使post内容大小不限制

tomcat7.0.63之前的版本

maxPostSize 设置为 0 或者负数

Connector 节点中加入maxPostSize="0"  或者  maxPostSize="-1"

tomcat7.0.63之后的版本,需要设置为负数

Connector 节点中加入 maxPostSize="-1"

本文发布于:2024-01-30 16:52:43,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170660476721467.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图片大小   上传   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23