Package org.nutz.mvc.upload.util

Examples of org.nutz.mvc.upload.util.BufferRing.mark()


      // 构建 3 个环节点的缓冲环
      br = new BufferRing(ins, 3, bufferSize);
      // 初始加载
      info.current = br.load();
      // 跳过开始的标记
      mm = br.mark(firstBoundaryBytes);
      // 这是不可能的,应该立即退出
      if (mm != MarkMode.FOUND) {
        if (log.isWarnEnabled())
          log.warnf("Fail to find the firstBoundary (%s) in stream, quit!", firstBoundary);
        return params;
View Full Code Here


    try {
      FieldMeta meta;
      do {
        info.current = br.load();
        // 标记项目头
        mm = br.mark(nameEndlBytes);
        String s = br.dumpAsString(charset);

        // 肯定碰到了 "--\r\n", 这标志着整个流结束了
        if ("--".equals(s) || MarkMode.STREAM_END == mm) {
          break;
View Full Code Here

          // 上传的是一个空文件
          if ("\"\"".equals(meta.getName()) || Strings.isBlank(meta.getFileLocalPath())) {
            do {
              info.current = br.load();
              mm = br.mark(itemEndlBytes);
              assertStreamNotEnd(mm);
              br.skipMark();
            } while (mm == MarkMode.NOT_FOUND);
          }
          // 保存临时文件
View Full Code Here

              // 需要限制文件大小
              if (maxFileSize > 0) {
                long maxPos = info.current + maxFileSize;
                do {
                  info.current = br.load();
                  mm = br.mark(itemEndlBytes);
                  assertStreamNotEnd(mm);
                  if (info.current > maxPos) {
                    throw new UploadOutOfSizeException(meta);
                  }
                  br.dump(ops);
View Full Code Here

              }
              // 不限制文件大小
              else {
                do {
                  info.current = br.load();
                  mm = br.mark(itemEndlBytes);
                  assertStreamNotEnd(mm);
                  br.dump(ops);
                  if(info.stop)
                    throw new UploadStopException(info);
                } while (mm == MarkMode.NOT_FOUND);
View Full Code Here

        // 作为提交值读取
        else {
          StringBuilder sb = new StringBuilder();
          do {
            info.current = br.load();
            mm = br.mark(itemEndlBytes);
            assertStreamNotEnd(mm);
            sb.append(br.dumpAsString(charset));
          } while (mm == MarkMode.NOT_FOUND);
          params.add(meta.getName(), sb.toString());
          if (log.isDebugEnabled())
View Full Code Here

            // 构建 3 个环节点的缓冲环
            br = new BufferRing(ins, 3, bufferSize);
            // 初始加载
            info.current = br.load();
            // 跳过开始的标记
            mm = br.mark(firstBoundaryBytes);
            // 这是不可能的,应该立即退出
            if (mm != MarkMode.FOUND) {
                if (log.isWarnEnabled())
                    log.warnf("Fail to find the firstBoundary (%s) in stream, quit!", firstBoundary);
                return params;
View Full Code Here

        try {
            FieldMeta meta;
            do {
                info.current = br.load();
                // 标记项目头
                mm = br.mark(nameEndlBytes);
                String s = br.dumpAsString(charset);

                // 肯定碰到了 "--\r\n", 这标志着整个流结束了
                if ("--".equals(s) || MarkMode.STREAM_END == mm) {
                    break;
View Full Code Here

                    // 上传的是一个空文件
                    if ("\"\"".equals(meta.getName()) || Strings.isBlank(meta.getFileLocalPath())) {
                        do {
                            info.current = br.load();
                            mm = br.mark(itemEndlBytes);
                            assertStreamNotEnd(mm);
                            br.skipMark();
                        } while (mm == MarkMode.NOT_FOUND);
                    }
                    // 保存临时文件
View Full Code Here

                            // 需要限制文件大小
                            if (maxFileSize > 0) {
                                long maxPos = info.current + maxFileSize;
                                do {
                                    info.current = br.load();
                                    mm = br.mark(itemEndlBytes);
                                    assertStreamNotEnd(mm);
                                    if (info.current > maxPos) {
                                        throw new UploadOutOfSizeException(meta);
                                    }
                                    br.dump(ops);
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.