国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

java Web開(kāi)發(fā)實(shí)現(xiàn)手機(jī)拍照上傳到服務(wù)器

only_do / 2827人閱讀

摘要:第一步搭環(huán)境基本我們要清楚自己的版本。因?yàn)槲覀兣渲玫某晒Φ那疤崾前姹鞠鄬?duì)應(yīng)。解壓縮都隨便一個(gè)盤(pán)都行,下圖是我的路徑配置相關(guān)環(huán)境變量,由于本人之前已經(jīng)配置了開(kāi)發(fā)時(shí)環(huán)境,即。這個(gè)顯示上傳狀態(tài)與后面在中有定義。

第一步:

 
  搭環(huán)境,基本jdk 1.6+apache tomcat6.0+myeclipse2014
1.我們要清楚自己的jdk版本。因?yàn)槲覀傾pache Tomcat配置的成功的前提是版本相對(duì)應(yīng)。
安裝jdk1.6是由于myeclipse中新建webproject時(shí),有可能只有1.6和1.7兩個(gè)選項(xiàng),不過(guò)不同的myeclipse版本應(yīng)該不同,如下圖:

具體安裝的jdk的過(guò)程和環(huán)境變量的設(shè)置就百度一下,教程很多,安裝好了之后,查看一下版本,如下圖:

2.安裝apache tomcat6.0,推薦安裝壓縮版,下載之后直接解壓縮,然后設(shè)置一下環(huán)境變量就可以用了。
解壓縮都隨便一個(gè)盤(pán)都行,下圖是我的路徑:

5.配置相關(guān)環(huán)境變量,由于本人之前已經(jīng)配置了Java開(kāi)發(fā)時(shí)環(huán)境,即JDK。因此JAVA_HOME就不必再配置了
1)環(huán)境變量1:CATALINA_HOME,環(huán)境變量值:F: omcat-6.0.35
(環(huán)境變量值即為相應(yīng)ZIP文件解壓目錄)
2)環(huán)境變量2:CATALINA_BASE,環(huán)境變量值:F: omcat-6.0.35
(與CATALINA相同)
3)環(huán)境變量2:TOMCAT_HOME,環(huán)境變量值:F: omcat-6.0.35
(與CATALINA相同)
4)環(huán)境變量3:CALSSPATH,修改環(huán)境變量值,在其后加上:%CATALINA_HOME%libservlet-api.jar;
5)環(huán)境變量4:PATH,修改環(huán)境變量值,在其后加上:%CATALINA_HOME%libservlet-api.jar;
圖片展示:

環(huán)境變量設(shè)置好了之后,需要修改一些tomcat的配置信息,路徑:F: omcat-6.0.35confserver.xml如何跟下圖一樣的,可以不用修改:

上面的東西全部配置完成之后,可以啟動(dòng)一下tomcat,看是否配置成功,雙擊 F: omcat-6.0.35in目錄下的startup.bat:

這樣就顯示配置成功了,然后我們可以訪問(wèn)一下tomcat自帶的例子,打開(kāi)瀏覽器輸入localhost:80/index.html,80是端口號(hào),可自行修改,如何沒(méi)有修改過(guò),則是8080,如下圖所示:

3.安裝myeclipse 2014,安裝過(guò)程很簡(jiǎn)單,只分享一下安裝包和破解包,破解包中自帶破解教程,百度云鏈接https://pan.baidu.com/s/1c13JSdE 密碼:3ji7

安裝與破解完成之后,首先將myeclipse的編碼格式改為UTF-8國(guó)際編碼。
window->perferences 如圖:

由于myeclipse不會(huì)自動(dòng)導(dǎo)入你配置好的jdk,需要手動(dòng)配置,因?yàn)闆](méi)有什么特殊的,直接百度配置教程:http://jingyan.baidu.com/arti...

myeclipse中配置tomcat和如何啟動(dòng)的教程也比較多,也好找,鏈接:http://jingyan.baidu.com/arti...
這是我配置好了后

點(diǎn)擊上圖中圓圈圈起來(lái)的圖標(biāo),啟動(dòng)你自己導(dǎo)入的tomcat,然后矩形框是用來(lái)將你創(chuàng)建的web project映射到F: omcat-6.0.35webapps目錄下

新建一個(gè)web project


...]

然后映射到webapps目錄下:

然后開(kāi)始寫(xiě)代碼:
首先將index.jsp的編碼格式設(shè)置為UTF-8

然后導(dǎo)入jsp-api.jar,這個(gè)包在

index.jsp中的主要代碼為
form 中action的值為與后面建立的servlet/JSP mapping URL一致,可以先建立了servlet再來(lái)修改這個(gè)值。
${result}這個(gè)顯示上傳狀態(tài),與后面在SmartUpload.java中有定義。
showPreView(this)方法是用來(lái)預(yù)覽圖片的。




${result}

新建servlet

建立成功了之后,可以看到web.xml中的一些自動(dòng)配置好的信息:

SmartUpload.java

package com.upload;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import java.io.RandomAccessFile;
import java.text.SimpleDateFormat;
import java.util.Date;


import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;



public class SmartUpload extends HttpServlet {

     // 定義允許上傳的文件擴(kuò)展名
    private String Ext_Name = "gif,jpg,jpeg,png,bmp,swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2";
    //顯示上傳文件的結(jié)果
    private String result=null;
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        doPost(req,resp);
        
    }

    
    public void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        //獲取上傳文件流
        InputStream fileSource=req.getInputStream();
        //設(shè)置臨時(shí)文件名
        String tempFileName="F:/tempFile";
        File tempFile=new File(tempFileName);
        //文件輸出流,將上傳的文件寫(xiě)入按字節(jié)流臨時(shí)文件
        FileOutputStream outputStream=new FileOutputStream(tempFile);
        byte b[]=new byte[1024];
        int n;
        while((n=fileSource.read(b))!=-1){
            outputStream.write(b,0,n);
        }
        outputStream.close();
        fileSource.close();
        //創(chuàng)建文件隨機(jī)流,讀取臨時(shí)文件
        RandomAccessFile randomFile=new RandomAccessFile(tempFile,"r");
        //第一行的垃圾數(shù)據(jù)不需要
        randomFile.readLine();
        //在第二行中獲取文件后綴名
        String str=randomFile.readLine();
        //獲取文件后綴名
        String fileExt=str.substring(str.indexOf(".")+1,str.lastIndexOf(""")).toLowerCase();
         // 檢查擴(kuò)展名
        // 如果需要限制上傳的文件類(lèi)型,那么可以通過(guò)文件的擴(kuò)展名來(lái)判斷上傳的文件類(lèi)型是否合法
        System.out.println("上傳的文件的擴(kuò)展名是:" + fileExt);
        if(!Ext_Name.contains(fileExt)){
            System.out.println("上傳文件擴(kuò)展名是不允許的擴(kuò)展名:" + fileExt);
           result = result + "上傳文件擴(kuò)展名是不允許的擴(kuò)展名:" + fileExt + "
"; randomFile.close(); RequestDispatcher dispatcher=req.getRequestDispatcher("index.jsp"); dispatcher.forward(req, resp); return; } //得到保存文件的名字 String filename=makeFileName(fileExt); //重新定位文件指針到文件頭 randomFile.seek(0); long startPosition=0; int i=1; while((n=randomFile.readByte())!=-1&&i<=4){ if(n==" "){ startPosition=randomFile.getFilePointer(); i++; } } //startPosition=startPosition-1; //獲取文件內(nèi)容結(jié)束位置 randomFile.seek(randomFile.length()); long endPosition=randomFile.getFilePointer(); int j=1; while(endPosition>=0&&j<=2){ endPosition--; randomFile.seek(endPosition); if(randomFile.readByte()==" "){ j++; } } endPosition=endPosition-1; String savePath="F:/images"; File fileupload=new File(savePath); if(!fileupload.exists()){ fileupload.mkdir(); } //新建文件和文件名字 File saveFile=new File(savePath,filename); RandomAccessFile randomAccessFile=new RandomAccessFile(saveFile,"rw"); //從臨時(shí)文件的當(dāng)中讀取文件內(nèi)容 randomFile.seek(startPosition); while(startPosition

上傳圖片的頁(yè)面效果:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/87177.html

相關(guān)文章

  • java Web開(kāi)發(fā)實(shí)現(xiàn)手機(jī)拍照上傳務(wù)器

    摘要:第一步搭環(huán)境基本我們要清楚自己的版本。因?yàn)槲覀兣渲玫某晒Φ那疤崾前姹鞠鄬?duì)應(yīng)。解壓縮都隨便一個(gè)盤(pán)都行,下圖是我的路徑配置相關(guān)環(huán)境變量,由于本人之前已經(jīng)配置了開(kāi)發(fā)時(shí)環(huán)境,即。這個(gè)顯示上傳狀態(tài)與后面在中有定義。 第一步: 搭環(huán)境,基本jdk 1.6+apache tomcat6.0+myeclipse2014 1.我們要清楚自己的jdk版本。因?yàn)槲覀傾pache Tomcat配置的成...

    Towers 評(píng)論0 收藏0
  • 關(guān)于手機(jī)拍照上傳圖片的問(wèn)題

    摘要:關(guān)于移動(dòng)端拍照上傳圖片的解決方案場(chǎng)景產(chǎn)品要求用戶(hù)拍一張身份證和一張人像,然后后臺(tái)調(diào)用商用接口比對(duì)證件和人像的匹配度。缺點(diǎn)手機(jī)拍照?qǐng)D片過(guò)大,壓縮后,圖片依然大,沒(méi)上傳一次花費(fèi)時(shí)間過(guò)長(zhǎng),最后再調(diào)用接口比對(duì)時(shí)間花費(fèi)也長(zhǎng)。 關(guān)于移動(dòng)端拍照上傳圖片的解決方案 場(chǎng)景 產(chǎn)品要求用戶(hù)拍一張身份證和一張人像,然后后臺(tái)php調(diào)用商用接口比對(duì)證件和人像的匹配度。showImg(https://segment...

    jifei 評(píng)論0 收藏0
  • 微信JSSDK 實(shí)現(xiàn)打開(kāi)攝像頭拍照再將相片保存務(wù)器

    摘要:在微信端打開(kāi)手機(jī)攝像頭拍照,將拍照?qǐng)D片保存到服務(wù)器上需要使用到微信的接口,主要使用到了拍照或從手機(jī)相冊(cè)中選圖接口上傳圖片接口參考資料一引入微信二通過(guò)接口注入權(quán)限驗(yàn)證配置三微信端拍照接口默認(rèn)可以指定是原圖還是壓縮圖,默認(rèn)二者都有可以指 在微信端打開(kāi)手機(jī)攝像頭拍照,將拍照?qǐng)D片保存到服務(wù)器上需要使用到微信的JSSDK接口,主要使用到了拍照或從手機(jī)相冊(cè)中選圖接口(chooseImage),上傳...

    yy13818512006 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<