commons-fileupload上傳附件api使用

boolean isMultipart = ServletFileUpload.isMultipartContent(request); 服務器

if (!isMultipart) { spa

           goto..... orm

            return; ip

        } utf-8

 // Create a new file upload handler get

ServletFileUpload upload = new ServletFileUpload(); input

// Parse the request string

FileItemIterator iter = upload.getItemIterator(request); it

while (iter.hasNext()) { stream

    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);

相關文章
相關標籤/搜索