• 文件上传工具swfupload[转]


    转至:http://zhangqgc.iteye.com/blog/906419

    文件上传工具swfupload

    示例:

    1、JavaScript设置SWFUpload部分(与官方例子类似):

    var upload;

    window.onload = function() {
    upload = new SWFUpload({

    // 处理文件上传的url
    upload_url: "${pageContext.request.contextPath}/swfupload/example.jsp?upload=1",
    // 上传文件限制设置
    file_size_limit : "10240", // 10MB
    file_types : "*.jpg;*.gif;*.png", //此处也可以修改成你想限制的类型,比如:*.doc;*.wpd;*.pdf
    file_types_description : "Image Files",
    file_upload_limit : "0",
    file_queue_limit : "1",
    // 事件处理设置(所有的自定义处理方法都在handler.js文件里)
    file_dialog_start_handler : fileDialogStart,
    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 : uploadSuccess,
    upload_complete_handler : uploadComplete,
    // 按钮设置
    button_image_url : "swfupload/xpbutton.png", // 按钮图标
    button_placeholder_id : "spanButtonPlaceholder",
    button_ 61,
    button_height: 22,
    // swf设置
    flash_url : "swfupload/swfupload.swf",
    custom_settings : {
    progressTarget : "fsUploadProgress",
    cancelButtonId : "btnCancel"
    },
    // Debug 设置
    debug: false
    });
    }

    2、页面显示部分:

    <div class="flash" id="fsUploadProgress"></div>
    <div style="padding-left: 5px;">
    <span id="spanButtonPlaceholder"></span>
    <input id="btnCancel" type="button" value="取消" onclick="cancelQueue(upload);"
    disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" />
    </div>

    3、Java处理文件上传部分:

    String uploadSign = request.getParameter("upload");
    String rootPath = request.getParameter("rootPath");
    String path = request.getParameter("path");
    if(rootPath == null) rootPath = "";
    rootPath = rootPath.trim();
    if(rootPath.equals("")){
    rootPath = application.getRealPath("/swfupload/files");
    }
    if(path == null) {
    path = rootPath;
    }else{
    path = new String(Base64.decodeBase64(path.getBytes()));
    }

    //上传操作
    if(null != uploadSign && !"".equals(uploadSign)){
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    //upload.setHeaderEncoding("UTF-8");
    try{
    List items = upload.parseRequest(request);
    if(null != items){
    Iterator itr = items.iterator();
    while(itr.hasNext()){
    FileItem item = (FileItem)itr.next();
    if(item.isFormField()){
    continue;
    }else{
    //以当前精确到秒的日期为上传的文件的文件名
    SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddkkmmss");
    String type = item.getName().split("\.")[1];//获取文件类型
    File savedFile = new File(path,sdf.format(new Date())+"."+type);
    item.write(savedFile);
    }
    }
    }
    }catch(Exception e){
    e.printStackTrace();
    }
    }

  • 相关阅读:
    JavaScript等比例缩放图片
    乐器的研究
    乐器的研究
    单位的理解
    单位的理解
    那些狗,那些人
    Opencv+Zbar二维码识别(标准条形码/二维码识别)
    二维码解码器Zbar+VS2012开发环境配置
    条形码、二维码的区别和组成结构介绍
    Caffe-Windows下遇到过的问题、技巧、解决方案
  • 原文地址:https://www.cnblogs.com/luoxiaolei/p/4988752.html
Copyright © 2020-2023  润新知