Flask接口签名sign原理与实例代码浅析
281
2023-01-22
webuploader+springmvc实现图片上传功能
本文为大家分享了webuploader springmvc实现图片上传的具体代码,供大家参考,具体内容如下
jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
//图片上传demo
jquery(function() {
var $ = jQuery,
$list = $('#fileList'),
// 优化retina, 在retina下这个值是2
ratio = window.devicePixelRatio || 1,
// 缩略图大小
thumbnailWidth = 100 * ratio,
thumbnailHeight = 100 * ratio,
// Web Uploader实例
uploader;
// 初始化Web Uploader
uploader = WebUploader.create({
// 自动上传。
auto: false,
// swf文件路径
swf:'${pageContext.request.contextPath }/manage/Widget/webuploader/0.1.5/Uploader.swf',
// 文件接收服务端。
server: '${pageContext.request.contextPath }/uploader.action',
threads:'5', //同时运行5个线程传输
fileNumLimit:'10', //文件总数量只能选择10个
// 选择文件的按钮。可选。
pick: {id:'#filePicker', //选择文件的按钮
multiple:true}, //允许可以同时选择多个图片
// 图片质量,只有type为`image/jpeg`的时候才有效。
quality: 90,
//限制传输文件类型,accept可以不写
accept: {
title: 'Images',//描述
extensions: 'gif,jpg,jpeg,bmp,png,zip',//类型
mimeTypes: 'image/*'//mime类型
}
});
// 当有文件添加进来的时候,创建img显示缩略图使用
uploader.on( 'fileQueued', function( file ) {
var $li = $(
'
'' +
'
'
),
$img = $li.find('img');
// $list为容器jQuery实例
$list.append( $li );
// 创建缩略图
// 如果为非图片文件,可以不用调用此方法。
// thumbnailWidth x thumbnailHeight 为 100 x 100
uploader.makeThumb( file, function( error, src ) {
if ( error ) {
$img.replaceWith('不能预览');
return;
}
$img.attr( 'src', src );
}, thumbnailWidth, thumbnailHeight );
});
// 文件上传过程中创建进度条实时显示。 uploadProgress事件:上传过程中触发,携带上传进度。 file文件对象 percentage传输进度 Nuber类型
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#'+file.id ),
$percent = $li.find('.pyvxsvKPErogress span');
// 避免重复创建
if ( !$percent.length ) {
$percent = $('
')
.appendTo( $li )
.find('span');
}
$percent.css( 'width', percentage * 100 + '%' );
});
// 文件上传成功时候触发,给item添加成功class, 用样式标记上传成功。 file:文件对象, response:服务器返回数据
uploader.on( 'uploadSuccess', function( file,response) {
$( '#'+file.id ).addClass('upload-state-done');
//console.info(response);
$("#upInfo").html(""+response._raw+"");
});
// 文件上传失败 file:文件对象 , code:出错代码
uploader.on( 'uploadError', function(file,code) {
var $li = $( '#'+file.id ),
$error = $li.find('div.error');
// 避免重复创建
if ( !$error.length ) {
$error = $('
').appendTo( $li );}
$error.text('上传失败!');
});
// 不管成功或者失败,文件上传完成时触发。 file: 文件对象
uploader.on( 'uploadComplete', function( file ) {
$( '#'+file.id ).find('.progress').remove();
});
//绑定提交事件
$("#btn").click(function() {
console.log("上传...");
uploader.upload(); //执行手动提交
console.log("上传成功");
alert("上传成功!");
});
});
springMvc 的 servlet加入以下代码(允许上传):
引入的包
commons-io-1.3.2.jar
commons-fileupload-1.2.1.jar
java代码
package com.shopping.controller;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
/**
* @author MAZN
* @date 创建时间:2017年5月2日 下午10:02:36
* @parameter
* @return
*/
@Controller
public class UploadImgController {
int counter = 0;
@RequestMapping("/uploader")
public void upload(HttpServletRequest request,HttpServletResponse response){
//String fileName;
// File tagetFile;
System.out.println("收到图片!");
MultipartHttpServletRequest Murequest = (MultipartHttpServletRequest)request;
Map
//String upaloadUrl = request.getSession().getServletContext().getRealPath("/")+"upload/";//得到当前工程路径拼接上文件名
String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
int num=t.indexOf(".metadata");
String small = "small";
String upaloadUrl=t.substring(1,num).replace('/', '\\')+"image\\"+small+"\\";
//+"项目名\\WebContent\\文件";
File dir = new File(upaloadUrl);
System.out.println(upaloadUrl);
String img_url = upaloadUrl;//图片路径
if(!dir.exists())//目录不存在则创建
dir.mkdirs();
for(MultipartFile file :files.values()){
counter++;
String fileName=file.getOriginalFilename();
File tagetFile = new File(upaloadUrl+fileName);//创建文件对象
img_url += fileName;
if(!tagetFile.exists()){//文件名不存在 则新建文件,并将文件复制到新建文件中
try {
tagetFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
try {
file.transferTo(tagetFile);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println(img_url);
System.out.println("接收完毕"+counter);
}
}
参考:WebUploader客户端批量上传图片 后台使用springMVC
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~