隨筆-71  評論-5  文章-0  trackbacks-0

          /Files/kokosang/html5拖拽上傳.zip

            前幾天想做個給安卓app升級做個上傳頁面,然后從網(wǎng)上down了個頁面下面(主要是嫌棄自己頁面整的太丑,見不了人),然后就一直在整后臺取值的辦法
            各種百度,值取出來了,但是,悲催的是總是亂碼,崩潰了,大神看了后,鄙視一番,給我整了下,簡直就是重寫了

            貼出來,先放張頁面效果
            


            賞心悅目的后臺來咯

          import java.io.BufferedWriter;
          import java.io.File;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.io.InputStream;
          import java.io.OutputStream;
          import java.io.OutputStreamWriter;
          import java.util.List;

          import org.apache.log4j.Logger;
          import org.apache.tomcat.util.http.fileupload.FileItem;
          import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
          import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload;

          import com.puff.framework.annotation.Controller;
          import com.puff.web.mvc.PuffContext;
          import com.puff.web.view.View;

          @Controller("/upload/android")
          public class AndroidVersionUploadController {

              private static final Logger logger = Logger.getLogger(UserImageController.class);
              
              private static final String FILE_PATH = "C:/Users/Administrator/Desktop";
              
              private static final String FILE_APK_NAME = "/nn.apk";
              private static final String FILE_VER_NAME = "/ver.txt";
              
              /**
               * 版本上傳
               * 
          @return
               * 
          @throws Exception 
               
          */
              public View update() throws Exception {
                  DiskFileItemFactory factory = new DiskFileItemFactory(); 
                  ServletFileUpload upload = new ServletFileUpload(factory); 
                  List<FileItem> items = upload.parseRequest( PuffContext.getRequest()); 
                  
                  String ver = null;
                  String info = null;
                  String isFoucs = null;
                  for(Object object : items) { 
                      FileItem fileItem = (FileItem)object; 
                      if(fileItem.isFormField()) { 
                          
                          String name = fileItem.getFieldName();
                          String value = fileItem.getString("utf-8");
                          
                          if("ver".equals(name)){
                              ver = value;
                          }else if("content".equals(name)){
                              info = value;
                          }else if("radio".equals(name)){
                              isFoucs = value;
                          }
                      } else {
                          saveFileInfo(fileItem);
                      }
                  } 
                  
                  saveContentInfo(ver, info, isFoucs);
                  
                  return null;
              
              }

              private void saveFileInfo(FileItem fileItem) {
                  
                  InputStream is = null;
                  OutputStream os = null;
                  try {
                      File file = new File(FILE_PATH);
                      if(file.exists()) {
                          file.mkdirs();
                      }
                      
                      is = fileItem.getInputStream();
                      os = new FileOutputStream(FILE_PATH + FILE_APK_NAME);
                      
                      int len = 0;
                      byte[] buffer = new byte[8 * 1024];
                      while ((len = is.read(buffer, 0, 8 * 1024)) != -1) {
                          os.write(buffer, 0, len);
                      }
                  } catch (Exception e) {
                      e.printStackTrace();
                  } finally {
                      closeOutputStream(os);
                      closeInputStream(is);
                  }
              }
              
              public void saveContentInfo(String ver, String info, String isFoucs) {
                  BufferedWriter br = null;
                  try {
                      File file = new File(FILE_PATH);
                      if(file.exists()) {
                          file.mkdirs();
                      }
                      
                      br = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(FILE_PATH + FILE_VER_NAME), "utf-8"));
                      br.write("ver:" + ver + "\r\n");   //版本號
                      br.write("update:" + isFoucs+ "\r\n");   //是否強制更新
                      br.write("content:" + info );    //版本升級內(nèi)容
                      br.flush();
                  } catch (Exception e) {
                      e.printStackTrace();
                  } finally {
                      try {
                          if(br != null) {
                              br.close();
                          }
                      } catch (IOException e) {
                          e.printStackTrace();
                      } finally {
                          br = null;
                      }
                  }
              }


              private void closeOutputStream(OutputStream os) {
                  if(os != null) {
                      try {
                          os.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      } finally {
                          os = null;
                      }
                  }
              }
              
              private void closeInputStream(InputStream is) {
                  if(is != null) {
                      try {
                          is.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      } finally {
                          is = null;
                      }
                  }
              }
          }
          posted on 2015-08-24 10:35 藤本薔薇 閱讀(262) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 黄石市| 阿图什市| 嘉鱼县| 仁化县| 沙湾县| 鄂伦春自治旗| 繁昌县| 稻城县| 自治县| 县级市| 丰都县| 陇川县| 京山县| 新民市| 峨山| 肇庆市| 西乌珠穆沁旗| 天长市| 东光县| 汤阴县| 正安县| 达尔| 利辛县| 甘孜县| 定西市| 于都县| 保康县| 贵德县| 察哈| 长白| 靖远县| 东丽区| 明水县| 阿拉善左旗| 嘉兴市| 宁蒗| 郯城县| 湘阴县| 门头沟区| 喀什市| 上杭县|