校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > jsp實現文件上傳下載的程序示例

jsp實現文件上傳下載的程序示例

熱門標簽:商洛電銷 杭州語音電銷機器人軟件 北票市地圖標注 電銷機器人是有一些什么技術 地圖標注線上教程 四川保險智能外呼系統商家 高德地圖標注樣式 杭州ai語音電銷機器人功能 電銷機器人好賣么

一、文件上傳
上傳文件是Web開發中經常要用到的功能:例如在基于B/S的人事信息管理系統中上傳照片,在新聞發布系統中上傳圖片等等。。。。。要實現文件上傳功能,就需要綜合利用java中的文件輸入和輸出相關的類。
在TCP/IP中,最早出現的文件上傳機制是FTP。它是將文件由客服端發送到服務器的標準機制,能夠考慮到跨平臺的文本和二進制格式文件。但是在jsp編程中不能使用FTP方法來上傳文件,這是由jsp 運行機制所決定的。
下面是上傳文件的jsp頁面:

復制代碼 代碼如下:

form action="file?file=upload" method="post" enctype="multipart/form-data">
    請選擇你要上傳的文件:input type="file" name="upload" siez="16">br>
    input type="submit" value="提交">
  /form>

對于文件上傳表單處理其中method必須為post,也要增加類型enctype="multipart/form-data"。這樣就可以把文件中的數據作為流式數據上傳。當然無論是什么文件格式,均可以。。。
下面是servlet 處理程序:

復制代碼 代碼如下:

//接收上傳文件內容中臨時文件的文件名
        String tempFileName = new String("tempFileName");
        //tempfile 對象指向臨時文件
        File tempFile = new File("D:/"+tempFileName);
        //outputfile 文件輸出流指向這個臨時文件
        FileOutputStream outputStream = new FileOutputStream(tempFile);
        //得到客服端提交的所有數據
        InputStream fileSourcel = request.getInputStream();
        //將得到的客服端數據寫入臨時文件
        byte b[] = new byte[1000];
        int n ;
        while ((n=fileSourcel.read(b))!=-1){
            outputStream.write(b,0,n);
        }

        //關閉輸出流和輸入流
        outputStream.close();
        fileSourcel.close();

        //randomFile對象指向臨時文件
        RandomAccessFile randomFile = new RandomAccessFile(tempFile,"r");
        //讀取臨時文件的第一行數據
        randomFile.readLine();
        //讀取臨時文件的第二行數據,這行數據中包含了文件的路徑和文件名
        String filePath = randomFile.readLine();
        //得到文件名
        int position = filePath.lastIndexOf('\\');
        CodeToString codeToString = new CodeToString();
        String filename = codeToString.codeString(filePath.substring(position,filePath.length()-1));
        //重新定位讀取文件指針到文件頭
        randomFile.seek(0);
        //得到第四行回車符的位置,這是上傳文件數據的開始位置
        long  forthEnterPosition = 0;
        int forth = 1;
        while((n=randomFile.readByte())!=-1(forth=4)){
            if(n=='\n'){
                forthEnterPosition = randomFile.getFilePointer();
                forth++;
            }
        }

        //生成上傳文件的目錄
        File fileupLoad = new File("D:/work space/JSP workspace/jsp_servlet_upAndLoad/file","upLoad");
        fileupLoad.mkdir();
        //saveFile 對象指向要保存的文件
        File saveFile = new File("D:/work space/JSP workspace/jsp_servlet_upAndLoad/file/upLoad",filename);
        RandomAccessFile randomAccessFile = new RandomAccessFile(saveFile,"rw");
        //找到上傳文件數據的結束位置,即倒數第四行
        randomFile.seek(randomFile.length());
        long endPosition = randomFile.getFilePointer();
        int j = 1;
        while((endPosition>=0)(j=4)){
            endPosition--;
            randomFile.seek(endPosition);
            if(randomFile.readByte()=='\n'){
                j++;
            }
        }

        //從上傳文件數據的開始位置到結束位置,把數據寫入到要保存的文件中
        randomFile.seek(forthEnterPosition);
        long startPoint = randomFile.getFilePointer();
        while(startPointendPosition){
            randomAccessFile.write(randomFile.readByte());
            startPoint = randomFile.getFilePointer();
        }
        //關閉文件輸入、輸出
        randomAccessFile.close();
        randomFile.close();
        tempFile.delete();

其中CodeToString()方法是一個中文字符處理的方法。如果文件不進行編碼轉換,則上傳后的文件名將會是亂碼,接收的文件數據也會是亂碼:
下面是CodeToString()源代碼:

復制代碼 代碼如下:

//處理中文字符串的函數
    public String codeString(String str){
        String s = str;
        try {
            byte[] temp = s.getBytes("utf-8");
            s = new String(temp);
            return s ;
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return s;
        }
    }

二:文件下載

實現文件下載的最簡單的方法就是使用超鏈接。假設在服務器上web目錄下地upload子目錄存在user.doc這個文檔。如:
a href="http://localhost:8080/upload/user.doc">下載user.doc/a>
當單擊這個超級鏈接時,將會在瀏覽器中直接打開這個文檔,就像是把word軟件嵌入在瀏覽器中一樣。
打開文檔后就可以實現另存為了。當然在web上,最常見的方式是單擊鏈接后,出現“另存為”對話框:

復制代碼 代碼如下:

//獲取要下載的文件名
        String filename = request.getParameter("name");
        //得到想客服端輸出的輸出流
        OutputStream outputStream = response.getOutputStream();
        //輸出文件用的字節數組,每次向輸出流發送600個字節
        byte b[] = new byte[600];
        //要下載的文件
        File fileload = new File("D:/work space/JSP workspace/jsp_servlet_upAndLoad/file/upLoad",filename);       
        //客服端使用保存文件的對話框
        response.setHeader("Content-disposition", "attachment;filename="+filename);
        //通知客服文件的MIME類型
        response.setContentType("application/msword");
        //通知客服文件的長度
        long fileLength = fileload.length();
        String length = String.valueOf(fileLength);
        response.setHeader("Content_length", length);
        //讀取文件,并發送給客服端下載
        FileInputStream inputStream = new FileInputStream(fileload);
        int n = 0;
        while((n=inputStream.read(b))!=-1){
            outputStream.write(b,0,n);
        }

在該程序中,response對象的setContentType()用來定義服務器發送給客服端內容的MIME類型。這里對MIME就不特別介紹了。事實上,凡是瀏覽器能處理的所有資源都有對應的MIME資源類型。在與服務器的交互中,瀏覽器就是對html、jsp等文件瀏覽器直接將其打開。對于word、excel等瀏覽器自身不能打開的文件則調用相應的方法。對于沒有標記MIME類型的文件。瀏覽器則根據其擴展名和文件內容猜測其類型。。。

您可能感興趣的文章:
  • Jsp頁面實現文件上傳下載類代碼
  • jsp中點擊圖片彈出文件上傳界面及預覽功能的實現
  • Jsp+Servlet實現文件上傳下載 文件上傳(一)
  • AJAX和JSP實現的基于WEB的文件上傳的進度控制代碼
  • jsp文件上傳與下載實例代碼
  • jsp中點擊圖片彈出文件上傳界面及實現預覽實例詳解
  • 利用jsp+Extjs實現動態顯示文件上傳進度
  • jsp 文件上傳瀏覽,支持ie6,ie7,ie8
  • servlet+JSP+mysql實現文件上傳的方法
  • JSP實現文件上傳功能

標簽:青島 紅河 江西 丹東 云浮 貴州 宿州 西藏

巨人網絡通訊聲明:本文標題《jsp實現文件上傳下載的程序示例》,本文關鍵詞  jsp,實現,文件,上傳下載,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jsp實現文件上傳下載的程序示例》相關的同類信息!
  • 本頁收集關于jsp實現文件上傳下載的程序示例的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    成人精品视频.| 亚洲影院在线观看| 国产一区二区精品久久91| 日韩美女主播在线视频一区二区三区| 国产专区欧美精品| 91麻豆国产福利在线观看| 亚洲三级免费电影| 91丨九色丨国产丨porny| 亚洲欧美日韩中文播放| 欧美系列日韩一区| 日精品一区二区| 国产午夜精品久久久久久免费视 | 91精品国产全国免费观看| 看电视剧不卡顿的网站| 国产午夜精品一区二区三区四区| 93久久精品日日躁夜夜躁欧美| 亚洲一区自拍偷拍| 日韩欧美黄色影院| 99久久免费精品高清特色大片| 亚洲高清在线精品| 国产午夜精品一区二区三区视频| 91丨九色丨国产丨porny| 日本伊人午夜精品| 国产精品青草久久| 欧美日韩二区三区| 国产精品夜夜嗨| 亚洲图片欧美一区| 国产午夜精品久久久久久久| 欧美性生交片4| 国产精品一区二区你懂的| 亚洲一区视频在线| 国产欧美精品区一区二区三区 | 夜夜揉揉日日人人青青一国产精品| 7777精品伊人久久久大香线蕉| 春色校园综合激情亚洲| 视频一区二区中文字幕| 国产精品理论在线观看| 日韩美女视频在线| 色噜噜狠狠色综合中国| 国产乱人伦偷精品视频不卡| 亚洲国产精品自拍| 中文字幕一区二区三区在线观看| 日韩亚洲欧美中文三级| 91久久精品一区二区三| 精品国产不卡一区二区三区| 另类的小说在线视频另类成人小视频在线| 日本一区二区三区在线不卡| 欧美精品v国产精品v日韩精品| 成人小视频在线观看| 日本免费在线视频不卡一不卡二| 亚洲另类在线一区| 欧美激情一区在线观看| 日韩精品一区二区三区swag| 欧美另类变人与禽xxxxx| 色综合一个色综合| 成人永久免费视频| 国产老肥熟一区二区三区| 蜜臀久久99精品久久久久宅男 | 亚洲国产一区视频| 国产精品沙发午睡系列990531| 精品少妇一区二区三区免费观看 | 91福利在线观看| 成人午夜电影小说| 国产成人综合网站| 精品一二三四在线| 国产一区二区按摩在线观看| 美国欧美日韩国产在线播放| 日韩高清在线电影| 亚洲777理论| 亚洲综合在线电影| 一区二区三区精品视频在线| 一区二区在线免费观看| 一区二区三区中文字幕精品精品| 亚洲三级电影网站| 亚洲色图另类专区| 最新热久久免费视频| 中文字幕在线观看不卡| 国产精品久久精品日日| 中文字幕一区三区| 亚洲精品视频一区二区| 一区二区在线观看免费| 亚洲午夜私人影院| 日本成人超碰在线观看| 蜜臀av一区二区在线观看| 久久国产日韩欧美精品| 国产乱色国产精品免费视频| 风间由美性色一区二区三区| av一区二区三区在线| 色欧美片视频在线观看在线视频| 一本色道久久综合狠狠躁的推荐| 色国产综合视频| 91 com成人网| 精品国产青草久久久久福利| 26uuu成人网一区二区三区| 国产视频不卡一区| 一二三四社区欧美黄| 午夜精品免费在线| 极品少妇一区二区| 成人福利在线看| 91国产成人在线| 欧美一区永久视频免费观看| 精品国产乱码久久久久久闺蜜 | 亚洲欧美日韩精品久久久久| 亚洲成人免费看| 欧美大度的电影原声| 一本色道久久综合亚洲aⅴ蜜桃| 欧洲激情一区二区| 精品国精品自拍自在线| 亚洲人妖av一区二区| 亚洲国产综合人成综合网站| 另类小说一区二区三区| 99久久婷婷国产精品综合| 欧美日韩精品是欧美日韩精品| 精品国产乱码久久久久久夜甘婷婷 | 日韩欧美国产一区在线观看| 国产日韩一级二级三级| 亚洲国产精品久久久男人的天堂| 极品少妇xxxx偷拍精品少妇| 91黄视频在线观看| 久久亚洲影视婷婷| 亚洲另类在线视频| 国产一区二区三区视频在线播放| 99re免费视频精品全部| 91精品国产综合久久精品图片 | 亚洲电影中文字幕在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美人成免费网站| 国产精品午夜在线| 日本欧美一区二区在线观看| 成人av电影在线观看| 欧美大黄免费观看| 亚洲午夜一区二区| www.成人网.com| 精品福利二区三区| 视频一区视频二区中文字幕| 91网址在线看| 国产午夜精品久久| 另类小说色综合网站| 欧美日韩一区国产| 中文字幕日韩一区| 国模冰冰炮一区二区| 777亚洲妇女| 综合久久一区二区三区| 国产福利一区在线| 欧美本精品男人aⅴ天堂| 亚洲国产精品视频| 91浏览器入口在线观看| 久久亚洲一区二区三区明星换脸 | 精品国产免费一区二区三区香蕉| 亚洲福利一区二区三区| 99久久99久久综合| 中文一区在线播放| 国产精品99精品久久免费| 日韩一区二区三区四区| 日韩不卡一二三区| 欧美羞羞免费网站| 一区二区免费视频| av网站免费线看精品| 中文字幕二三区不卡| 国产精品18久久久久久久久| 久久影院午夜论| 玖玖九九国产精品| 精品裸体舞一区二区三区| 免费成人深夜小野草| 337p亚洲精品色噜噜噜| 日韩电影在线一区二区| 欧美色偷偷大香| 欧美日本视频在线| 久久久久久久久久看片| 黄色成人免费在线| 日韩欧美一级二级| 久久国产欧美日韩精品| 精品日韩99亚洲| 国产精品一区二区久久精品爱涩| 国产视频亚洲色图| 不卡一区二区三区四区| 亚洲欧洲日韩综合一区二区| av电影在线观看一区| 亚洲视频图片小说| 欧美色倩网站大全免费| 五月天一区二区三区| 欧美一区二区精品在线| 麻豆精品久久精品色综合| 欧美成人伊人久久综合网| 国产真实乱子伦精品视频| 久久九九全国免费| 91免费观看视频在线| 亚洲高清一区二区三区| 欧美www视频| jlzzjlzz亚洲女人18| 亚洲一区二区三区影院| 欧美一级一区二区| 成人性生交大片免费| 亚洲国产精品久久久男人的天堂| 欧美一二区视频| 成人精品电影在线观看| 亚洲日本中文字幕区| 欧美一区二区三区在线观看| 国产精品亚洲а∨天堂免在线| 亚洲精品福利视频网站|