jsp怎么实现在客户端弹出服务器端路径选择框,将文件存在该选择的服务器端目录下。现在用js实现的,只能打开本地的路径选择框,求大神解决。

解决方案 »

  1.   

    你可以把服务器端的文件结构做成一个tree在前台展示让用户选择,最好是做成ajax动态展开节点,静态的话估计数据量够大的,现成的插件没注意过有没有。
      

  2.   


    /**
     *  上传文件及保存文件的数据信息到数据库
     * @param fileTransfer //文件对象
     * @param filename 文件名称
     * @param enId 委托编号
     * @param type 委托类型
     * @param barcode 条形码
     * @param sc servlet
     * @return:       List<Map>    
     */
    @RemoteMethod
    public List<Map> uploadFile(FileTransfer fileTransfer, String filename,String enId,String type,String barcode,
    ServletContext sc) {
    Date day=DateUtil.newDate();//日期
    String time=formatDate(day,"yyyyMMddHHmmss");
    try {
    String saveurl = getCsisUrl();
    File file = new File(saveurl + "\\" + time+filename);
    IOUtil.streamToFile(fileTransfer.getInputStream(), file);
    String p=authorizeService.getLoginUser().getUserName();//登陆人名称
    String ip=authorizeService.getLoginUser().getIp();//登陆者ip
    DocDetail docD=new DocDetail();
    docD.setDocSize((float) (fileTransfer.getSize()/1048576.0));
    System.out.println(docD.getDocSize());
    docD.setEntrustionId(enId);
    docD.setEntrustionType(type);
    docD.setBarcode(barcode);
    docD.setUploader(p);
    docD.setUploadTime(day);
    docD.setDocName(time+filename);
    docD.setDocPath(time+filename);
    docD.setIsDeleted("0");
    docD.setCreateTime(day);
    docD.setCreator(p);
    docD.setCreatorIp(ip);
    docD.setModifier(p);
    docD.setModifierIp(ip);
    docD.setModifyTime(day);
    return docManageService.saveDocDetail(docD);
    } catch (Exception e) {
    e.printStackTrace();
    return null;
    }
    }/**
     *  获取服务器地址
     * @return    
     * @return:       String    
     * @throws
     */
    public String getCsisUrl(){
    Properties p = new Properties();
    try{
    InputStream in = this.getClass().getResourceAsStream("/jdbc.properties");//配置文件
    p.load(in);
    in.close();
    String csisUrl= p.getProperty("bill.template.uploadFolder");//所要保存的路径
    System.out.println(csisUrl);
    return csisUrl;
    }catch(Exception e){
    e.printStackTrace();
    return "";
    }
    }