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

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

            前幾天想做個給安卓app升級做個上傳頁面,然后從網上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 );    //版本升級內容
                      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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 修文县| 会理县| 望谟县| 新巴尔虎右旗| 普兰店市| 青河县| 衡山县| 上思县| 曲靖市| 南岸区| 犍为县| 大邑县| 信阳市| 浦江县| 宿州市| 海兴县| 碌曲县| 自贡市| 射阳县| 额济纳旗| 松阳县| 酒泉市| 祁连县| 高唐县| 云林县| 钦州市| 肃宁县| 罗田县| 鄯善县| 昌图县| 文昌市| 民丰县| 莲花县| 湖北省| 堆龙德庆县| 庆安县| 明水县| 淮南市| 邳州市| 平度市| 苍南县|