「java异步上传图片」java实现图片上传

博主:adminadmin 2022-12-05 06:00:08 81

今天给各位分享java异步上传图片的知识,其中也会对java实现图片上传进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java中如何图片异步上传

在java中要实现异步上传要提前做好准备,对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。

这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基于这个实现的。

common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。剩下的就是js文件的导入了,我导入了以下文件:

script type="text/javascript" src="lib/Js/jquery.js"/script

script ltype="text/javascript" src="/js/ajaxfileupload.js"/script

在页面中的写法:

div class="controls"span class="btn green fileinput-button"i class="icon-plus icon-white"/i

span上传照片/span

input id="fileToUpload" name="myfiles" type="file" onchange="upload()" title="上传" //span

/divfunction upload(){

$.ajaxFileUpload

(

{

url:'%=basePath%sysperson/uploadpic',

secureuri:false,

fileElementId:'fileToUpload',

dataType: 'text',

success: function (data, status)

{

document.all.mypic.src="%=basePath%uploads/" + data;

document.all.picpath.value = data;

}, error : function(data, status, e) {

alert(e);

}

});

}

java同一表单中如何先上传图片再提交表单

异步上传图片。上传成功完成后返回图片路径。然后再提交表单,在提交表单时要验证上传成功返回的图片路径。

请问用Java 如何实现图片上传功能 ?

我有一段上传图片的代码,并且可以根据实际,按月或按天等,生成存放图片的文件夹

首先在JSP上放一个FILE的标签这些我都不说了,你也一定明白,我直接把处理过程给你发过去

我把其中存到数据库中的内容删除了,你改一下就能用

/**

*

* 上传图片

* @param servlet

* @param request

* @param response

* @return

* @throws Exception

*/

//这里我是同步上传的,你随意

public synchronized String importPic(HttpServlet servlet, HttpServletRequest request,HttpServletResponse response) throws Exception {

SimpleDateFormat formatDate = new SimpleDateFormat("yyyyMM");

Date nowtime=new Date();

String formatnowtime=formatDate.format(nowtime);

File root = new File(request.getRealPath("/")+"uploadfile/images/"+formatnowtime+"/"); //应保证在根目录中有此目录的存在 如果没有,下面则上创建新的文件夹

if(!root.isDirectory())

{

System.out.println("创建新文件夹成功"+formatnowtime);

root.mkdir();

}

int returnflag = 0;

SmartUpload mySmartUpload =new SmartUpload();

int file_size_max=1024000;

String ext="";

String url="uploadfile/images/"+formatnowtime+"/";

// 只允许上载此类文件

try{

// 初始化

mySmartUpload.initialize(servlet.getServletConfig(),request,response);

mySmartUpload.setAllowedFilesList("jpg,gif,bmp,jpeg,png,JPG");

// 上载文件

mySmartUpload.upload();

} catch (Exception e){

response.sendRedirect()//返回页面

}

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);

if (myFile.isMissing()){ //没有选择图片做提示!

returnflag = 3;

}else{

String myFileName=myFile.getFileName(); //取得上载的文件的文件名

ext= myFile.getFileExt(); //取得后缀名

if(ext.equals("jpg")||ext.equals("gif")||ext.equals("bmp")||ext.equals("jpeg")||ext.equals("png")||ext.equals("JPG")){ //jpeg,png不能上传!)

int file_size=myFile.getSize(); //取得文件的大小

String saveurl="";

if(file_sizefile_size_max){

try{

//我上面说到,把操作数据库的代友删除了,这里就应该是判断,你的图片是不是已经存在了,存在要怎么处理,不存在要怎么处了,就是你的事了 }

//更改文件名,取得当前上传时间的毫秒数值

Calendar calendar = Calendar.getInstance();

//String filename = String.valueOf(calendar.getTimeInMillis());

String did = contractBean.getMaxSeq("MULTIMEDIA_SEQ");

String filename = did;

String flag = "0";

String path = request.getRealPath("/")+url;

String ename = myFile.getFileExt();

//.toLowerCase()转换大小写

saveurl=request.getRealPath("/")+url;

saveurl+=filename+"."+ext; //保存路径

myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);

//将图片信息插入到数据库中

// ------上传完成,开始生成缩略图-----

java.io.File file = new java.io.File(saveurl); //读入刚才上传的文件

String newurl=request.getRealPath("/")+url+filename+"_min."+ext; //新的缩略图保存地址

Image src = javax.imageio.ImageIO.read(file); //构造Image对象

float tagsize=200;

int old_w=src.getWidth(null);

int old_h=src.getHeight(null);

int new_w=0;

int new_h=0;

int tempsize;

float tempdouble;

if(old_wold_h){

tempdouble=old_w/tagsize;

}else{

tempdouble=old_h/tagsize;

}

// new_w=Math.round(old_w/tempdouble);

// new_h=Math.round(old_h/tempdouble);//计算新图长宽

new_w=150;

new_h=110;//计算新图长宽

BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);

tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //绘制缩小后的图

FileOutputStream newimage=new FileOutputStream(newurl); //输出到文件流

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);

encoder.encode(tag); //近JPEG编码

newimage.close();

returnflag = 1;

}else{

returnflag = 0;

System.out.println("('上传文件大小不能超过"+(file_size_max/1000)+"K');");

}

}else{

returnflag = 2;

}

}

response.sendRedirect();

return "11";

}

Java异步上传文件怎么做?

采用ajax上传(struts或jspsmart),下面提供一个思路

1\在jsp页面上嵌入一个隐藏的IFrame;

2\把相应上传文件路径传到iframe里面的src的jsp页面进行提交;

3\提交执行相应的.do或jsp就OK;

试一下,这个问题也困扰我很久了,最近才想出来的一个解决方案,由于工作忙没有去实现.

java接收ajax传递过来的图片参数图片参数

SpringMVC上传首先需要在配置文件中配置文件解析器

    bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"  

        property name="defaultEncoding" value="UTF-8"/  

        !-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --  

        property name="maxUploadSize" value="200000"/  

    /bean

提交的form表单中需要包含enctype="multipart/form-data"

加上enctype后, Spring MVC的前端控制器会判断是否是文件上传, 自动转换的

后台使用MultipartFile对象即可接收

可以直接form表单提交或者异步上传文件

关于java异步上传图片和java实现图片上传的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-05,除非注明,否则均为首码项目网原创文章,转载请注明出处。