加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swfupload handle.js

发布时间:2020-12-15 18:17:14 所属栏目:百科 来源:网络整理
导读:function getCustomSetting(setting){var def = {flash_url : uploadSwf,upload_url: uploadUrl,post_params: {targetForm:"form"},file_size_limit : "10 MB",file_types : "*.jpg",file_types_description : "请选择图片文件",button_image_url: myImage+"
function getCustomSetting(setting){
	var def = {
		flash_url : uploadSwf,upload_url: uploadUrl,post_params: {targetForm:"form"},file_size_limit : "10 MB",file_types : "*.jpg",file_types_description : "请选择图片文件",button_image_url: myImage+"/plugins/swfupload/upload_btn.gif",file_upload_limit : "0",file_queue_limit : "1",button_width: "216",button_height: "23",//		custom_settings : {
//			upload_target : "fsUploadProgress",//			cancelButtonId : "btnCancel"
//		},button_placeholder_id: "",button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,button_action : SWFUpload.BUTTON_ACTION.SELECT_FILES,button_text: '',button_text_style: ".theFont { font-size: 14; }",button_text_left_padding: 5,button_text_top_padding: 5,button_cursor:SWFUpload.CURSOR.HAND,//		file_queued_handler : fileQueued,//		file_queue_error_handler : fileQueueError,//		file_dialog_complete_handler : fileDialogComplete,//		upload_start_handler : uploadStart,//		upload_progress_handler : uploadProgress,//		upload_error_handler : uploadError,//		upload_success_handler : customUploadSuccess,//		upload_complete_handler : uploadComplete,//		queue_complete_handler : queueComplete	// Queue plugin event
		
//		file_queued_handler : function(file){},//		file_queue_error_handler : function(file,errorCode,message){},file_dialog_complete_handler : function(numFilesSelected,numFilesQueued){
			this.startUpload();
		},//		upload_start_handler : function(file){},//		upload_progress_handler : function(file,bytesLoaded,bytesTotal){},//		upload_error_handler : function(file,upload_success_handler : customUploadSuccess,upload_complete_handler : function(file,obj){},queue_complete_handler : function(numFilesUploaded){}
	};
	$.extend(def,setting);
	return def;
}
 
package com.xxx.basicspace.back.controller;


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import net.sf.json.JSONObject;


import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ExtendedModelMap;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;





@Controller
public class FileUploadController {
 private static Logger logger = Logger.getLogger(FileUploadController.class);
 
 /**
 * <p class="detail">图片传处理function</p>
 *
 * @author <a href="mailto:zouping@wokejia.com ">邹平</a> 2012-4-10 下午01:31:19
 * @param <b>这里参数</b>
 * @return String ? ?返回类型?
 * @throws
 */
 @RequestMapping(value="/uc/uploadFileLogo.htm",method=RequestMethod.POST)
 public void uploadFileLogo(HttpServletRequest request,HttpServletResponse response,String targetDom){
 try {
 response.setContentType("text/html; charset=GBK");
 String fileName ?= "";
 //项目发布路径
 String path = request.getSession().getServletContext().getRealPath("")+File.separator;
 //临时文件夹
 String foler = File.separator+WokeFinal.HEAD_IMG;
 //得到图片临时存放路径
 File pfile = new File(path+foler);
 if(!pfile.exists()){
 pfile.mkdirs();
 }
 if(request instanceof MultipartHttpServletRequest){
 //取得文件流
 MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
 Map<String,MultipartFile> fileMap = mrequest.getFileMap();
 Iterator<String> fileNames = mrequest.getFileNames();
 while (fileNames.hasNext()) {
 String inpuFileName = (String) fileNames.next();
 CommonsMultipartFile file = (CommonsMultipartFile) fileMap.get(inpuFileName);
 String fileByte = file.getFileItem().getName();
 fileName = createFileName(fileByte);
 try {
 byte [] ss = file.getBytes();
 FileOutputStream out = new FileOutputStream(path+foler+File.separator+fileName); ?
 //需要优化?
 out.write(ss);
 ? ? ? ?	out.flush();
 ? ? ? ?	out.close();
 ? ? ? ?} catch (Exception e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ?}
 }
 response.getWriter().write("{'targetDom':'"+targetDom+"','fileName':'"+fileName+"'}");?
 }else{
 response.getWriter().write("false");
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
 }
 
 /**
 * <p class="detail">百度ueditor编辑器上传</p>
 * @author <a href="mailto:luoweijun@wokejia.com ">罗伟俊</a> 2013-1-22 下午6:19:04
 * @param request
 * @param response
 * @param targetDom
 * @param model
 * @return
 */
 @RequestMapping(value="/upload/baiduUploadFile.htm",method=RequestMethod.POST)
 @ResponseBody
 public String baiduUploadFile(HttpServletRequest request,String targetDom){
 response.setContentType("text/html; charset=GBK");?
 String fileName ?= "";
 Map<String,Object> resultMap = new HashMap<String,Object>();
 //项目发布路径
 String path = WokeFinal.realPath+"/";
 //临时文件夹
 String foler = "/"+WokeContext.getSystemProperties().getProperty("uploadColorful");
 //得到图片临时存放路径
 File saveDir = new File(path+foler+File.separator);
 if(!saveDir.exists()){
 saveDir.mkdirs();
 }
 if(request instanceof MultipartHttpServletRequest){
 //取得文件流
 MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
 Map<String,MultipartFile> ?fileMap = mrequest.getFileMap();
 Iterator<String> fileNames = mrequest.getFileNames();
 
 while (fileNames.hasNext()) {
 String inpuFileName = (String) fileNames.next();
 CommonsMultipartFile file = (CommonsMultipartFile) fileMap.get(inpuFileName);
 String fileByte = file.getFileItem().getName();
 fileName = createFileName(fileByte);
 try {
 ImgUtil.getNew().upload(file.getInputStream(),path+foler+File.separator+fileName,-1,false,null,1,-1);
 ? ? ? ?} catch (Exception e) {
 ? ? ? ?	logger.error("",e);
 ? ? ? ?}
 }
 String url = foler+"/"+fileName;
 resultMap.put("url",url);
 resultMap.put("title",request.getParameter("pictitle"));
 resultMap.put("state","SUCCESS");
 }else{
 resultMap.put("url","");
 resultMap.put("title","");
 resultMap.put("state","保存失败");
 }
 
 return JSONObject.fromObject(resultMap).toString();//{ "url":"图片地址","title":"图片描述","state":"上传状态" }
 }
 
 
 
 /**
 * <p class="detail">图片传处理function</p>
 *
 * @author <a href="mailto:zouping@wokejia.com ">邹平</a> 2012-4-10 下午01:31:19
 * @param <b>这里参数</b>
 * @return String ? ?返回类型?
 * @throws
 */
 @SuppressWarnings("unchecked")
 @RequestMapping(value="/upload/uploadFile.htm",method=RequestMethod.POST)
 public void uploadFile(HttpServletRequest request,String targetDom,ExtendedModelMap model){
 try {
 response.setContentType("text/html; charset=GBK");
 String filePath="",fileName ?= "";
 //项目发布路径
 String dir = WokeFinal.realPath+File.separator;
 //临时文件夹
 String foler = File.separator+WokeFinal.TMEP_FILE;
 //按月创建的临时文件夹
 String tempFoler = DateUtil.getString("yyyyMM");
 //得到图片临时存放路径
 File pfile = new File(dir+foler+File.separator+tempFoler);
 if(!pfile.exists()){
 pfile.mkdirs();
 }
 if(request instanceof MultipartHttpServletRequest){
 //取得文件流
 MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
 Map<String,MultipartFile> fileMap = mrequest.getFileMap();
 Iterator<String> fileNames = mrequest.getFileNames();
 while (fileNames.hasNext()) {
 String inpuFileName = (String) fileNames.next();
 CommonsMultipartFile file = (CommonsMultipartFile) fileMap.get(inpuFileName);
 String fileByte = file.getFileItem().getName();
 //图片格式验证
 fileName = createFileName(fileByte);
 filePath = foler+File.separator+tempFoler+File.separator+fileName;
 try {
 byte [] ss = file.getBytes();
 FileOutputStream out = new FileOutputStream(dir+filePath); ?
 //需要优化?
 out.write(ss);
 ? ? ? ?	out.flush();
 ? ? ? ?	out.close();
 ? ? ? ?} catch (Exception e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ?}
 }
 filePath = filePath.replace("","/");
 Map<String,Object> map = new HashMap<String,Object>();
 
 map.putAll(request.getParameterMap());
 map.put("targetDom",targetDom);
 map.put("filePath",filePath);
 map.put("fileName",fileName);
 JSONObject jsonObj ?= JSONObject.fromObject(map);
 response.getWriter().write(jsonObj.toString());?
 }else{
 logger.debug("文件上传请求类型错误!>>>>>>>>>>>>>>>");
 response.getWriter().write("false");
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
 }
 /**
 *?
 * <p class="detail">图片传处理function</p>
 *
 * @author <a href="mailto:zouping@wokejia.com ">邹平</a> 2012-4-10 下午01:31:19
 * @param <b>这里参数</b>
 * @return String ? ?返回类型?
 * @throws
 */
 @RequestMapping(value="/uc/uploadColorful.htm",method=RequestMethod.POST)
 public String uploadColorful(HttpServletRequest request,Model model){
 response.setContentType("text/html; charset=GBK");?
 long start = System.currentTimeMillis();
 String fileName ?= "";
 //项目发布路径
 String path = request.getSession().getServletContext().getRealPath("")+File.separator;
 //临时文件夹
 String foler = File.separator+WokeContext.getSystemProperties().getProperty("uploadColorful");
 //得到图片临时存放路径
 File pfile = new File(path+foler+File.separator);
 if(!pfile.exists()){
 pfile.mkdirs();
 }
 if(request instanceof MultipartHttpServletRequest){
 //取得文件流
 MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
 Map<String,MultipartFile> ?fileMap = mrequest.getFileMap();
 Iterator<String> fileNames = mrequest.getFileNames();
 //水印存放地址
 String syPath = WokeContext.getSystemProperties().getProperty("shuiyinpath");
 //生成水印目标文件夹
 File syDir = new File(path+ File.separator + syPath);
 if(!syDir.exists()){
 model.addAttribute("error",1);
 ? ? ? ?	model.addAttribute("message","上传错误!");
 ? ? ? ?	return "texTemplate";
 }
 
 while (fileNames.hasNext()) {
 String inpuFileName = (String) fileNames.next();
 CommonsMultipartFile file = (CommonsMultipartFile) fileMap.get(inpuFileName);
 String fileByte = file.getFileItem().getName();
 fileName = createFileName(fileByte);
 try {
 ImgUtil.getNew().upload(file.getInputStream(),syDir,e);
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ?}
 logger.debug("==fileName===="+fileName);
 }
? ? ? ? 	model.addAttribute("error",0);
? ? ? ? 	model.addAttribute("url",fileName);
 long end = System.currentTimeMillis();
 ? ?logger.debug("end-start=="+(end-start));
 }else{
 model.addAttribute("error",1);
? ? ? ? 	model.addAttribute("message","上传错误!");
 }
 return "texTemplate";
 }
 @RequestMapping(value="/getUploadFile")
 public String getUploadFile(){
 logger.debug("getUploadFile");
 return "/upload/uploadfile";
 }
 
 private String createFileName(String fileName){
 String postfix = ?fileName.substring(fileName.length()-4,fileName.length());
 return StringUtil.uuid()+postfix;
 }
 
 /**
 *?
 * Description: ? 验证上传文件格式 ? 暂定为.jpg
 */
 private boolean checkImageType(String fileName){
 boolean flag = false;
 if(fileName.endsWith(".jpg") || fileName.endsWith(".JPG")){
 flag = true;
 }
 return flag;
 }
 /**
 *?
 * <p class="detail">上传有水印的主图片</p>
 *
 * @author <a href="mailto:zouping@wokejia.com ">邹平</a> 2012-4-10 下午01:31:19
 * @param <b>这里参数</b>
 * @return String ? ?返回类型?
 * @throws
 */
 @RequestMapping(value="/uploadAddSy",method=RequestMethod.POST)
 public void uploadAddSy(HttpServletRequest request,HttpServletResponse response){
 try {
 long start = System.currentTimeMillis();
 response.setContentType("text/html; charset=GBK");
 boolean upFlag = false;
 String fileName ?= "";
 //项目发布路径
 String path = request.getSession().getServletContext().getRealPath("")+File.separator;
 logger.debug("项目的发布路径:"+path);
 //临时文件夹
 String foler = File.separator+WokeContext.getSystemProperties().getProperty(WokeFinal.TMEP_FILE);
 //按月创建的临时文件夹
 String tempFoler = DateUtil.getString("yyyyMM");
 //得到图片临时存放路径
 File pfile = new File(path+foler+File.separator+tempFoler);
 if(!pfile.exists()){
 pfile.mkdirs();
 }
 //水印存放地址
 String syPath = WokeContext.getSystemProperties().getProperty("shuiyinpath");
 //生成水印目标文件夹
 File syDir = new File(path+ File.separator + syPath);
 if(!syDir.exists()){
 logger.debug("水印文件夹不存在!>>>>>>>>>>>>>>>");
 }
 if(request instanceof MultipartHttpServletRequest){
 //取得文件流
 MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
 Map<String,MultipartFile> fileMap = mrequest.getFileMap();
 Iterator<String> fileNames = mrequest.getFileNames();
 while (fileNames.hasNext()) {
 String inpuFileName = (String) fileNames.next();
 CommonsMultipartFile file = (CommonsMultipartFile) fileMap.get(inpuFileName);
 String fileByte = file.getFileItem().getName();
 //图片格式验证
 if(upFlag==checkImageType(fileByte)){
 return ;
 }else{
 upFlag = checkImageType(fileByte);
 }
 //生成一个新图片名
 fileName = createFileName(fileByte);
 try {
 ImgUtil.getNew().upload(file.getInputStream(),pfile+File.separator+fileName,-1);
 ? ? ? ?} catch (Exception e) {
 ? ? ? ?	logger.error("图片上传失败!",e);
 ? ? ? ?}
 logger.debug("==fileName===="+fileName);
 }
 ? ? ? ?	if(!upFlag){
 ? ?			response.getWriter().write("false");
 ? ? ? ?	}else{
 ? ? ? ?		logger.debug(tempFoler+"_"+fileName);
 ? ?			response.getWriter().write(tempFoler+"_"+fileName);
 ? ? ? ?	}
 long end = System.currentTimeMillis();
 ? ?logger.debug("图片上传共耗时>>>>>>>>>>>>>>>>>"+(end-start));
 }else{
 logger.debug("文件上传请求类型错误!>>>>>>>>>>>>>>>");
 response.getWriter().write("false");
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
 }
 
 @RequestMapping(value="/uploadFile",HttpServletResponse response){
 try {
 long start = System.currentTimeMillis();
 response.setContentType("text/html; charset=GBK");
 boolean upFlag = false;
 String fileName ?= "";
 String message = "对不起,文件上传失败了!请检查你上传的文件格式!";
 //项目发布路径
 String path = request.getSession().getServletContext().getRealPath("")+File.separator;
 logger.debug("项目的发布路径:"+path);
 //临时文件夹
 String foler = File.separator+WokeContext.getSystemProperties().getProperty(WokeFinal.TMEP_FILE);
 //按月创建的临时文件夹
 String tempFoler = DateUtil.getString("yyyyMM");
 //得到图片临时存放路径
 File pfile = new File(path+foler+File.separator+tempFoler);
 if(!pfile.exists()){
 pfile.mkdirs();
 }
 if(request instanceof MultipartHttpServletRequest){
 
 //取得文件流
 MultipartHttpServletRequest mrequest = (MultipartHttpServletRequest) request;
 Map fileMap = mrequest.getFileMap();
 Iterator<String> fileNames = mrequest.getFileNames();
 while (fileNames.hasNext()) {
 String inpuFileName = (String) fileNames.next();
 CommonsMultipartFile file = (CommonsMultipartFile) fileMap.get(inpuFileName);
 String fileByte = file.getFileItem().getName();
 //图片格式验证
 if(upFlag==checkImageType(fileByte)){
 return ;
 }else{
 upFlag = checkImageType(fileByte);
 }
 fileName = createFileName(fileByte);
 try {
 byte [] ss = file.getBytes();
 FileOutputStream out = new FileOutputStream(path+foler+File.separator+tempFoler+File.separator+fileName); ?
 //需要优化?
 out.write(ss);
 ? ? ? ?	out.flush();
 ? ? ? ?	out.close();
 ? ? ? ?	message = "图片上传成功!";
 ? ? ? ?} catch (Exception e) {
 ? ? ? ? ? ?e.printStackTrace();
 ? ? ? ?}
 logger.debug("==fileName===="+fileName);
 }
 ?
 ? ? ? ?	if(!upFlag){
 ? ?			response.getWriter().write("false");
 ? ? ? ?	}else{
 ? ? ? ?		logger.debug(tempFoler+"_"+fileName);
 ? ?			response.getWriter().write(tempFoler+"_"+fileName);
 ? ? ? ?	}
 long end = System.currentTimeMillis();
 ? ?logger.debug("end-start=="+(end-start));
 }else{
 logger.debug("文件上传请求类型错误!>>>>>>>>>>>>>>>");
 response.getWriter().write("false");
 }
 } catch (IOException e) {
 e.printStackTrace();
 }
 }
}

 
 
 

  
  

 
//上传成功
function customUploadSuccess(file,serverData) {
 var progress = false;
 if(typeof FileProgress != "undefined"){
 var progress = new FileProgress(file,this.customSettings.progressTarget);
 }
 try {
 eval("var serverData = "+serverData+";");
 
 if(progress){
 progress.setComplete();
 progress.setStatus("上传完成..");
 }
 
 var oldSrc = "";
 if(serverData.targetDom && serverData.filePath){
 oldSrc = $(serverData.targetDom).attr("src");
 $(serverData.targetDom).attr("src",myPath+serverData.filePath);
 }
 if(serverData.targetForm && serverData.targetForm[0] && serverData.inputValue[0] && serverData.filePath && serverData.fileName){
 var $form = $(serverData.targetForm[0]);
 var $oldImgs = $form.find("#oldImgs");
 var $hiddenHtml = $("<input name='"+serverData.inputValue[0]+"' value='"+serverData.fileName+"' type='hidden' />");
 var $hiddenAlias = "";
 var isHiddenAlias = false;
 if(serverData.name && serverData.name[0]){//创建一个name 的隐藏表单
 $hiddenAlias = $("<input name='"+serverData.name[0]+"' value='"+serverData.fileName+"' type='hidden' />");
 isHiddenAlias = true;
 }
 if(serverData.domClass){//添加class,在删除的时候级联删除隐藏表单
 $hiddenHtml.addClass(serverData.domClass[0]);
 if(isHiddenAlias)$hiddenAlias.addClass(serverData.domClass[0]);
 }
 //老图片
 if($oldImgs.length == 0){
 $form.prepend("<input id='oldImgs' name='oldImgs' value='"+oldSrc+"' type='hidden'/>");
 }else{
 oldSrc = $oldImgs.val() + ","+oldSrc;
 $oldImgs.val(oldSrc);
 }
 
 var $inputHidden = $form.find("input[name='"+serverData.inputValue[0]+"']");
 $inputHidden.remove();
 $hiddenHtml.prependTo($form);
 if(isHiddenAlias){
 $form.find("input[name='"+serverData.name[0]+"']").remove();
 $hiddenAlias.prependTo($form);
 }
 
 if(serverData.group && serverData.group[0]){
 var groupStr = serverData.group[0].replace("[","[").replace("]","]");
 $hiddenHtml.attr("uploadgroup",groupStr);
?				var $group = $form.find("input[uploadgroup='"+groupStr+"']");
 
 if($("#uploadGroup_"+groupStr).length == 0){
 var $groupHtm = $("<input name='"+serverData.group[0]+"' id='uploadGroup_"+serverData.group[0]+"' value='"+serverData.fileName+"' type='hidden' />");
 $form.prepend($groupHtm);
 if(serverData.domClass){$groupHtm.addClass(serverData.domClass[0]);}
 }else{
 var groupHiddenValue = "";?
 for(var i=0;i<$group.length;i++){
 if(i > 0){groupHiddenValue+=",";};
 groupHiddenValue += $group.eq(i).val();
 }
 $("#uploadGroup_"+groupStr).val(groupHiddenValue);
 }
 }
 }
 } catch (ex) {
 this.debug(ex);
 }


 if(progress){
 progress.toggleCancel(false);
 }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读