Dynamic Web TWAIN之如何实现缩略图图片同步

在用Dynamic Web TWAIN开发网页扫描程序的时候,不少朋友可能会需要把扫描的文档从一个图像查看器拷贝到另一个图像查看器,如下图所示:

Dynamic Web TWAIN之如何实现缩略图图片同步

熟悉这个扫描控件的朋友肯定觉得眼熟。对!它就是软件开发包里自带的一个示例。

        function Dynamsoft_OnPostTransfer() { // OnPostTransfer事件在每一张图片扫描后被触发。
            updateLargeViewer();
        }
        function Dynamsoft_OnPostLoad(path, name, type) { // OnPostLoad事件在一个本地文件的图片加载到控件后被触发。
            updateLargeViewer();
        }
        function Dynamsoft_OnMouseClick() { // OnMouseClick事件在鼠标单击图片时触发。
            updateLargeViewer();
        }
        function updateLargeViewer() {
            DWObject.CopyToClipboard(DWObject.CurrentImageIndexInBuffer); // 拷贝缩略图当前图片到剪切板(以DIB格式)。
            DWObjectLargeViewer.LoadDibFromClipboard(); // 将剪切板中的图片加载到大图查看图中。
        }

这个实现方式挺不错,就这么几行代码就搞定了。问题是这个剪切板有可能别的程序也在用呢?那不就乱套了。那咋整呢?我们可以试试用GetImageURL()和HTTPDownloadEx()来尝试实现类似的功能:

        function updateLargeViewer() {

            if(DWObject._ssl){
                DWObjectLargeViewer.HTTPPort = DWObject._portSSL;
            } else {
                DWObjectLargeViewer.HTTPPort = DWObject._port;
            }

            var imgURL = DWObject.GetImageURL(DWObject.CurrentImageIndexInBuffer);
           DWObjectLargeViewer.HTTPDownloadEx(DWObject._ip,imgURL.substring(imgURL.indexOf('img')-1),3);

        }

但要用HTTPDownloadEx方法下载图片的话,得把网页部署到web服务器,如IIS。