commons-fileupload上傳附件api使用

jopen 8年前發布 | 12K 次閱讀 Java開發

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {
           goto.....
            return;
        }
 // Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();
// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
    FileItemStream item = iter.next();
    String name = item.getFieldName();
    InputStream stream = item.openStream();
    if (item.isFormField()) {
        System.out.println("Form field " + name + " with value "
            + Streams.asString(stream) + " detected.");
    } else {
        System.out.println("File field " + name + " with file name "
            + item.getName() + " detected.");
        // Process the input stream
        ...
    }
}
 具體上傳服務器例子:
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (!isMultipart) {
            //goto
            return;
        }
           DiskFileItemFactory dff = new DiskFileItemFactory();
            try {
            ServletFileUpload sfu = new ServletFileUpload(dff);
            sfu.setSizeMax(10000*1024);
            sfu.setHeaderEncoding("utf-8");
            FileItemIterator fii = sfu.getItemIterator(request);
            while (iterator.hasNext()) {
                fileStream = iterator.next();
                 if (!fileStream.isFormField())
                    break;
                fileStream = null;
            }
             if (fileStream == null) {
                return new BaseState(false, 7);
}
           String savePath ="保存服務器路徑";
           String originFileName = fileStream.getName();
            String suffix = FileType.getSuffixByFilename(originFileName);

            originFileName = originFileName.substring(0,
                    originFileName.length() - suffix.length());
            savePath = savePath + suffix;

            long maxSize = ((Long) conf.get("maxSize")).longValue();

            if (!validType(suffix, (String[]) conf.get("allowFiles"))) {
                return new BaseState(false, 8);
            }
             savePath = PathFormat.parse(savePath, originFileName);
             String physicalPath = "路徑" + savePath;
             InputStream is = fileStream.openStream();
             FileOutputStream out = new FileOutputStream(new File(physicalPath);
             BufferedOutputStream output = new BufferedOutputStream(out);
              Streams.copy(in, output, true);

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!