• <menu id="w2i4a"></menu>
  • logo Dynamic Web TWAIN使用教程

    文檔首頁>>Dynamic Web TWAIN使用教程>>掃描識別工具Dynamic Web TWAIN使用教程:將圖像上傳到Web服務(wù)器(上)

    掃描識別工具Dynamic Web TWAIN使用教程:將圖像上傳到Web服務(wù)器(上)


    Dynamic Web TWAIN是一個專為Web應(yīng)用程序設(shè)計的TWAIN掃描識別控件。你只需在TWAIN接口寫幾行代碼,就可以用兼容TWAIN的掃描儀掃描文檔或從數(shù)碼相機/采集卡中獲取圖像。本文為你介紹在Dynamic Web TWAIN中如何將圖像上傳到Web服務(wù)器。


    Dynamic Web TWAIN最新版免費下載>>>

    將圖像上傳到Web服務(wù)器

    在我們上傳圖像之前,我們需要設(shè)置服務(wù)器IP/名稱,設(shè)置端口號,以及定義操作頁面的路徑。操作頁面指的是接收包含圖像數(shù)據(jù)的HTTP Post請求的目標腳本,并處理所有服務(wù)器端操作,如將數(shù)據(jù)保存在硬盤或數(shù)據(jù)庫上等。以下是一個示例:

    上傳并保存在服務(wù)器磁盤上

    var strHTTPServer = location.hostname;
    DWObject.HTTPPort = location.port == "" ? 80 : location.port;
    var CurrentPathName = unescape(location.pathname);
    var CurrentPath = CurrentPathName.substring(0, CurrentPathName.lastIndexOf("/") + 1);
    var strActionPage = CurrentPath + "actionPage.aspx";
    var uploadfilename = "TestImage.pdf";

    在代碼段中

    strHTTPServer用于存儲服務(wù)器名稱,該名稱指定將圖像上傳到哪個服務(wù)器。你也可以將服務(wù)器的IP用于相同目的。如果你想將圖像上傳到與當前頁面相同的服務(wù)器,我們建議你使用location.hostname來獲取hostname運行時。

    HTTPPort屬性指定用于上傳的HTTP端口。通常,端口80用于HTTP,端口443用于HTTPS。如果你不確定端口號,可以使用location.port ==“”? 80:location.port在運行時獲取當前端口號。

    CurrentPathName和CurrentPath用于構(gòu)建操作頁面的相對路徑。

    strActionPage存儲操作頁面的相對路徑。

    uploadfilename存儲上傳圖像的文件名。你應(yīng)該相應(yīng)地更改文件名的擴展名。

    注意:

    在10.0及更高版本中,我們使用瀏覽器作為上傳代理。由于瀏覽器有安全限制,不允許客戶端腳本(例如,JavaScript)向另一個域發(fā)出請求。因此,當你嘗試將映像上傳到具有不同域,子域,端口或協(xié)議的服務(wù)器時,你需要通過添加HTTP響應(yīng)頭文件來配置服務(wù)器以允許此類請求,即:Access-Control-Allow-Origin: *

    以IIS 7為例。你需要做的是將以下代碼段合并到應(yīng)用程序/站點根目錄的web.config文件中:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <httpProtocol>
          <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET,PUT"/>
            <add name="Access-Control-Allow-Headers" value="x-requested-with"/>
            <add name="Access-Control-Allow-Credentials" value="true" />
          </customHeaders>
        </httpProtocol>
      </system.webServer>
    </configuration>

    如果你還沒有web.config文件,只需創(chuàng)建一個名為“web.config”的新文件并添加上面的代碼段。

    方法

    現(xiàn)在,我們可以調(diào)用其中一個HTTP上傳方法來上傳圖像。我們共有8種方法:

    格式 方法
    任何類型 HTTPUploadThroughPostDirectly( )
    支持的圖像 HTTPUpload( )
    HTTPUploadThroughPost( )
    HTTPUploadThroughPostEx( )
    多頁PDF HTTPUploadAllThroughPostAsPDF( )
    HTTPUploadThroughPostAsMultiPagePDF( )
    多頁TIFF HTTPUploadAllThroughPostAsMultiPageTIFF( )
    HTTPUploadThroughPostAsMultiPageTIFF( )

    我們以這個方法HTTPUploadAllThroughPostAsPDF( )為例:

    DWObject.HTTPUploadAllThroughPostAsPDF(
        strHTTPServer,
        strActionPage,
        uploadfilename,
        OnHttpUploadSuccess,
        OnHttpUploadFailure
    );

    使用此方法,Dynamic Web TWAIN控件中的所有圖像將作為一個多頁PDF文件發(fā)送到Web服務(wù)器。

    在上面的代碼中,參數(shù)OnHttpUploadSuccess和OnHttpUploadFailure是可選的回調(diào)函數(shù)。如果它們存在,則該方法是異步的;否則,該方法是同步的。你可以異步使用這些方法以避免可能出現(xiàn)瀏覽器掛起。

    以下是這兩個函數(shù)的簡單實現(xiàn):

    function OnHttpUploadSuccess() {
        console.log('successful');
    }
    function OnHttpUploadFailure(errorCode, errorString, sHttpResponse) {
        alert(errorString + sHttpResponse);
    }

    如果要將一個圖像上傳為單頁文件,可以使用HTTPUploadThroughPost( ) 或 HTTPUploadThroughPostEx( )。

    如果要將所選圖像上傳為多頁文件,可以使用HTTPUploadThroughPostAsMultiPagePDF( ) 或 HTTPUploadThroughPostAsMultiPageTIFF( )。

    下一篇文章將為大家如何將圖像上傳到FTP、數(shù)據(jù)庫等。


    想要購買正版授權(quán),或者獲取更多Dynamic Web TWAIN相關(guān)信息的朋友可以點擊" 咨詢在線客服 "~
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();