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

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

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


    上一篇文章教大家如何將圖片上傳到服務(wù)器,本篇文章將繼續(xù)與大家分享如何將圖像上傳到FTP和數(shù)據(jù)庫(kù)。

    Dynamic Web TWAIN最新版免費(fèi)下載>>>

    操作頁(yè)面

    HTTP上傳方法向服務(wù)器上的操作頁(yè)面發(fā)出標(biāo)準(zhǔn)HTTP發(fā)布請(qǐng)求。請(qǐng)求包含圖像數(shù)據(jù),圖像名稱等。在操作頁(yè)面中,你可以根據(jù)需要處理圖像數(shù)據(jù)。從技術(shù)上講,你可以使用任何服務(wù)器端語(yǔ)言(例如C#,VB,PHP,Java)編寫操作頁(yè)面。

    這是C#中的一個(gè)例子:

    此操作頁(yè)面從當(dāng)前HTTP請(qǐng)求對(duì)象中檢索圖像數(shù)據(jù),并將其作為本地文件保存在服務(wù)器上。

    HttpFileCollection files = HttpContext.Current.Request.Files;
    HttpPostedFile uploadfile = files["RemoteFile"];
    uploadfile.SaveAs(System.Web.HttpContext.Current.Request.MapPath(".") + "/" + uploadfile.FileName);

    請(qǐng)注意,RemoteFile是上傳圖像數(shù)據(jù)的默認(rèn)名稱/密鑰。如有必要,可以使用屬性HttpFieldNameOfUploadedImage更改它。

    在PHP中:

    $fileTempName = $_FILES['RemoteFile']['tmp_name'];  
    $fileSize = $_FILES['RemoteFile']['size'];
    $fileName = $_FILES['RemoteFile']['name']; 
    move_uploaded_file($fileTempName, $fileName) ;

    上傳到FTP

    除了HTTP上傳方法,你還可以使用FTP上傳方法將圖像更新到FTP Web服務(wù)器。可用的API是:

    格式 方法
    任何類型 FTPUploadDirectly( )
    支持的圖像 FTPUpload( )
    FTPUploadEx( )
    多頁(yè)P(yáng)DF FTPUploadAllAsPDF( )
    FTPUploadAsMultiPagePDF( )
    多頁(yè)TIFF FTPUploadAllAsMultiPageTIFF( )
    FTPUploadAsMultiPageTIFF( )

    代碼片段

    DWObject.FTPUserName = 'test';
    DWObject.FTPPort = 21;
    DWObject.FTPPassword = 'test';
    DWObject.FTPUploadAllAsPDF(
        '192.168.8.222',
        'test.pdf',
        OnFtpUploadSuccess,
        OnFtpUploadFailure
    );

    將圖像上傳到數(shù)據(jù)庫(kù)

    Dynamic Web TWAIN不會(huì)直接將圖像保存/上傳到數(shù)據(jù)庫(kù)。相反,圖像數(shù)據(jù)首先保存在操作頁(yè)面,然后操作頁(yè)面中的代碼決定存儲(chǔ)它的位置。

    如果你不確定如何將圖像數(shù)據(jù)上傳到服務(wù)器,請(qǐng)參閱上一篇文章“服務(wù)器磁盤上的上傳和保存”。

    不同的數(shù)據(jù)庫(kù)系統(tǒng)可能具有不同的圖像數(shù)據(jù)數(shù)據(jù)類型。我們一般在MSSQL Server中使用BLOB或varbinary,在Oracle中使用Long raw或BLOB,在MySQL中使用BLOB。

    以下是在MSSQL Server中使用C+的示例:

    int iFileLength;
    HttpFileCollection files = HttpContext.Current.Request.Files;
    HttpPostedFile uploadfile = files["RemoteFile"];
    String strImageName = uploadfile.FileName;
    
    iFileLength = uploadfile.ContentLength;
    Byte[] inputBuffer = new Byte[iFileLength];
    System.IO.Stream inputStream;
    inputStream = uploadfile.InputStream;
    inputStream.Read(inputBuffer,0,iFileLength);
    
    // add code to connect to database
    String SqlCmdText = "INSERT INTO tblImage (strImageName,imgImageData) VALUES (@ImageName,@Image)";
    System.Data.SqlClient.SqlCommand sqlCmdObj = new System.Data.SqlClient.SqlCommand(SqlCmdText, sqlConnection);
    
    sqlCmdObj.Parameters.Add("@Image",System.Data.SqlDbType.Binary,iFileLength).Value = inputBuffer;
    sqlCmdObj.Parameters.Add("@ImageName",System.Data.SqlDbType.VarChar,255).Value = strImageName;
    
    sqlConnection.Open();
    sqlCmdObj.ExecuteNonQuery();
    sqlConnection.Close();

    在此代碼片段中,我們從當(dāng)前HTTP請(qǐng)求獲取文件對(duì)象,并將圖像數(shù)據(jù)寫入字節(jié)數(shù)組。在SQL語(yǔ)句中,我們將字節(jié)數(shù)組作為System.Data.SqlDbType.Binary傳遞給數(shù)據(jù)庫(kù),并將數(shù)據(jù)存儲(chǔ)在imgImageData的BL字段中。

    上傳帶有附加數(shù)據(jù)的圖像

    有時(shí)我們需要將更多信息傳遞給服務(wù)器。例如,文檔類型,員工ID,文檔描述等。由于在HTTP上傳方法中沒(méi)有傳遞附件數(shù)據(jù)的方法,因此我們需要使用名為SetHTTPFormField的方法。

    SetHTTPFormField(String sFieldName, String sFieldValue)
    • String sFieldName:指定Web表單中文本字段的名稱
    • String sFieldValue:指定Web表單中文本字段的值

    我們需要在上傳之前就使用此方法。例如:

    DWObject.ClearAllHTTPFormField(); // Clear all fields first
    DWObject.SetHTTPFormField("EmployeeID", "2012000054");
    DWObject.SetHTTPFormField("DocumentType", "Invoice");
    DWObject.SetHTTPFormField("DocumentDesc", "This is an invoice from ...");

    在操作頁(yè)面中,你可以通過(guò)字段名稱從請(qǐng)求對(duì)象中檢索數(shù)據(jù)。例如:

    String EmployeeID = HttpContext.Current.Request.Form["EmployeeID"];

    關(guān)于如何使用Dynamic Web TWAIN將圖像上傳到Web服務(wù)器的教程到此結(jié)束,下一篇將與大家分享如何從網(wǎng)上下載圖片,敬請(qǐng)期待~


    想要購(gòu)買正版授權(quán),或者獲取更多Dynamic Web TWAIN相關(guān)信息的朋友可以點(diǎn)擊" 咨詢?cè)诰€客服 "~
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();