天天看點

單個檔案或圖檔上傳(java)

public void uploadFile(){

        UploadFile file = getFile("batfile", "images");

        File source = file.getFile();  

        String fileName = file.getFileName(); 

        String extension = fileName.substring(fileName.lastIndexOf("."));  

        String prefix;  

        if(".png".equals(extension) || ".jpg".equals(extension) || ".gif".equals(extension)){

            prefix = "images";  

            fileName = WebUtils.uuid() + extension;  

        }else{  

            prefix = "files";

        }  

        JSONObject json = new JSONObject();  

        try {  

            FileInputStream fis = new FileInputStream(source);  

            File targetDir = new File(PropKit.use("config.properties").get("file.path") + prefix + "/");

            if (!targetDir.exists()) {  

                targetDir.mkdirs();  

            }  

            File target = new File(targetDir, fileName);  

            if (!target.exists()) {  

                target.createNewFile();  

            FileOutputStream fos = new FileOutputStream(target);  

            byte[] bts = new byte[300];  

            while (fis.read(bts, 0, 300) != -1) {  

                fos.write(bts, 0, 300);  

            fos.close();  

            fis.close();  

            json.put("error", "success"); 

            json.put("url", prefix + "/"+ fileName);  

            source.delete();  

        } catch (FileNotFoundException e) {  

            json.put("error", 1);  

            json.put("message", "上傳出現錯誤,請稍後再上傳");  

        } catch (IOException e) {  

            json.put("message", "檔案寫入伺服器出現錯誤,請稍後再上傳"); 

        }

        renderJson(PropKit.use("config.properties").get("file.path") + "files/"+ fileName);  

}  

本文轉自 沉澱人生 51CTO部落格,原文連結:http://blog.51cto.com/825272560/1855007