zoukankan      html  css  js  c++  java
  • 上传文件,获取表单数据和文件流

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
      request.setCharacterEncoding("UTF-8");
      response.setCharacterEncoding("UTF-8");
      WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
      SessionParams sessionParams = (SessionParams) VSessionUtils.getSessionParams(request);
      UserLogin userLogin = sessionParams.getUserInfo();
      UserConfig userConfig = sessionParams.getCustoms();

      FileInfo fileInfo = new FileInfo();
      String fileName = "";
      String orgFileName = "";
      String bucket="";
      if(null!=userLogin && null!=userLogin.getWebFile()){
        bucket= userLogin.getWebFile().getBucketName();
      }
      String fileUrl = "";
      String vId = "";
      String wId = "";
      WebCastServiceImpl webcastService=BeanUtils.getBean(WebCastServiceImpl.class);
      // 创建缓冲区
      DiskFileItemFactory factory = new DiskFileItemFactory();
      ServletFileUpload upload = new ServletFileUpload(factory);

      FileItemIterator fileItem = null;
      InputStream in=null;
      try{
      List<FileItem> items = upload.parseRequest(request);
      Iterator iter = items.iterator();

      while (iter.hasNext()) {
      FileItem item = (FileItem) iter.next();
      // String name = item.getFieldName();
      if(item.isFormField()){//判断是否是文件流

        String name = item.getFieldName();
        String value = item.getString();
        if(name.equals("wId")){
          wId=item.getString();
        }
      }
      if(!item.isFormField() && item.getName().length() > 0){
        fileName = item.getName();//会将完整路径名传过来
        /*int start = value.lastIndexOf("\");
        fileName = value.substring(start+1);*/
        if(fileName.indexOf("\") > 0){
        String[] tempArr = fileName.split("\\");
        fileName = tempArr[tempArr.length -1];
      }
      fileInfo.setFilename(fileName);
      fileInfo.setFiletype(this.getExtension(fileName));
      fileInfo.setFilename(getFileUrl(fileName,fileInfo.getFiletype()));
      orgFileName = fileName;
      if(!fileInfo.getFiletype().equals("mp4")){
        response.sendRedirect("/worklite/webcast/open/uploadTemp?success=type&vId=&fileName=");
        return;
      }
      if(null!=fileName && !fileName.equals("")){
        UUID uuid = UUID.randomUUID();
        fileName = uuid.toString()+"."+fileInfo.getFiletype();
        fileInfo.setFilename(fileName);
      }
      in = item.getInputStream();
      //item.write(new File(realPath,fileName));

      }
      }
      WebCast_baseinfo base=webcastService.getWebCast(wId);
      LocalFileManager fileMgr = new LocalFileManager();
      fileUrl = fileMgr.recvFromStream(FileConstants.TYPE_MEDIA, FileConstants.SUBTYPE_VIDEO, fileInfo.getFilename(), in);
      vId=UploadVideo.upload(fileMgr.getServerFileURL(FileConstants.TYPE_MEDIA, FileConstants.SUBTYPE_VIDEO,fileName), base.getCompanyId()+"_"+base.getwName()+"_"+orgFileName);

      WebCast_upvideo upvideo=webcastService.getWebcastUploadVideo(wId);
      try{
        if(null!=upvideo){
          webcastService.uptWebcastUploadVideo(wId,vId);
        }else{
          webcastService.addWebcastUploadVideo(wId,vId,new Date());
        }
      }catch(Exception e){
        Log.error(e.getMessage());
        response.sendRedirect("/worklite/webcast/open/uploadTemp?success=false&vId=&fileName=");
      }
      response.sendRedirect("/worklite/webcast/open/uploadTemp?success=true&vId="+vId+"&fileName="+orgFileName);
      }catch(Exception e){
      Log.error(e.getMessage());
      response.sendRedirect("/worklite/webcast/open/uploadTemp?success=false&vId=&fileName=");
    }

    }

  • 相关阅读:
    python numpty 中shape的用法
    卷积神经网络中参数的计算
    linux学习
    数据结构排序算法总结
    剑指offer 刷题 01
    30-大道至简——随机森林如何将分类器由弱变强
    29-用python构造一棵决策树
    28-决策树算法——简单有效的概率模型
    27-如何度量分类算法的性能好坏(Scoring metrics for classification)
    26-史上最简单的分类算法——KNN
  • 原文地址:https://www.cnblogs.com/momo1210/p/6283864.html
Copyright © 2011-2022 走看看