扫描识别工具Dynamic Web TWAIN使用教程:将图像上传到Web服务器(上)

翻译|使用教程|编辑:黄竹雯|2019-01-15 11:57:39.000|阅读 96 次

概述:本文为你介绍在Dynamic Web TWAIN中如何将图像上传到Web服务器。

相关链接:

Dynamic Web TWAIN是一个专为Web应用程序设计的TWAIN扫描识别控件。你只需在TWAIN接口写几行代码,就可以用兼容TWAIN的扫描仪扫描文档或从数码相机/采集卡中获取图像。本文为你介绍在Dynamic Web TWAIN中如何将图像上传到Web服务器。

将图像上传到Web服务器

在我们上传图像之前,我们需要设置服务器IP/名称,设置端口号,以及定义操作页面的路径。操作页面指的是接收包含图像数据的HTTP Post请求的目标脚本,并处理所有服务器端操作,如将数据保存在硬盘或数据库上等。以下是一个示例:

上传并保存在服务器磁盘上

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用于存储服务器名称,该名称指定将图像上传到哪个服务器。你也可以将服务器的IP用于相同目的。如果你想将图像上传到与当前页面相同的服务器,我们建议你使用location.hostname来获取hostname运行时。

HTTPPort属性指定用于上传的HTTP端口。通常,端口80用于HTTP,端口443用于HTTPS。如果你不确定端口号,可以使用location.port ==“”? 80:location.port在运行时获取当前端口号。

CurrentPathName和CurrentPath用于构建操作页面的相对路径。

strActionPage存储操作页面的相对路径。

uploadfilename存储上传图像的文件名。你应该相应地更改文件名的扩展名。

注意:

在10.0及更高版本中,我们使用浏览器作为上传代理。由于浏览器有安全限制,不允许客户端脚本(例如,JavaScript)向另一个域发出请求。因此,当你尝试将映像上传到具有不同域,子域,端口或协议的服务器时,你需要通过添加HTTP响应头文件来配置服务器以允许此类请求,即:Access-Control-Allow-Origin: *

以IIS 7为例。你需要做的是将以下代码段合并到应用程序/站点根目录的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文件,只需创建一个名为“web.config”的新文件并添加上面的代码段。

方法

现在,我们可以调用其中一个HTTP上传方法来上传图像。我们共有8种方法:

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

我们以这个方法HTTPUploadAllThroughPostAsPDF( )为例:

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

使用此方法,Dynamic Web TWAIN控件中的所有图像将作为一个多页PDF文件发送到Web服务器。

在上面的代码中,参数OnHttpUploadSuccess和OnHttpUploadFailure是可选的回调函数。如果它们存在,则该方法是异步的;否则,该方法是同步的。你可以异步使用这些方法以避免可能出现浏览器挂起。

以下是这两个函数的简单实现:

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

如果要将一个图像上传为单页文件,可以使用HTTPUploadThroughPost( ) 或 HTTPUploadThroughPostEx( )。

如果要将所选图像上传为多页文件,可以使用HTTPUploadThroughPostAsMultiPagePDF( ) 或 HTTPUploadThroughPostAsMultiPageTIFF( )。

下一篇文章将为大家如何将图像上传到FTP、数据库等。


想要购买正版授权,或者获取更多Dynamic Web TWAIN相关信息的朋友可以点击" 咨询在线客服 "~


标签:扫描识别图像处理扫描与图像

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Dynamic Web TWAIN

Dynamic Web TWAIN 应用于Web应用程序的TWAIN扫描识别工具,支持所有主流浏览器

购物车 在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat