Как получить отсканированное изображение со сканера в качестве входных данных для поля ввода HTML-файла с помощью веб-твена?

Как получить вывод изображения со сканера в качестве файла ввода для поля ввода файла HTML. Я использую веб-интерфейс Dynasoft Web Twain для сканирования изображений. http://www.dynamsoft.com/Support/DWTGuide/Dynamic%20Web%20TWAIN%20SDK.html

Фрагмент, чтобы получить отсканированное изображение -

    var DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
    DWObject.IfDisableSourceAfterAcquire = true;    // Source will be closed automatically after acquisition.
    DWObject.SelectSource();                        // Select a Data Source (a device like scanner) from the Data Source Manager.
    DWObject.OpenSource();                          // Open the source. You can set resolution, pixel type, etc. after this method. Please refer to the sample 'Scan' -> 'Custom Scan' for more info.
    DWObject.AcquireImage();

Фрагмент для ввода файла -

<input type="file" id="fileselect" accept="image/*,application/pdf" capture="camera" app-file-select="onFileSelect($files)" app-change="getFile($files)" app-model="file" style="display:none">

HTML-файл обрабатывается как MultipartFile на стороне сервера.

заранее спасибо

2 ответа

Вам не нужно создавать элемент ввода. Просто используйте API HTTPUploadAllThroughPostAsPDF или HTTPUploadThroughPostAsMultiPagePDF. На стороне сервера вы можете использовать любые языки программирования, которые вам нравятся.

Например, ASP.NET:

<%@ Page Language="C#" %>

<%
    try
    {
        String strImageName;
        HttpFileCollection files = HttpContext.Current.Request.Files;
        HttpPostedFile uploadfile = files["RemoteFile"];
        strImageName = uploadfile.FileName;

        uploadfile.SaveAs(Server.MapPath(".") + "\\UploadedImages\\" + strImageName);

    }
    catch
    {
    }
%>

Используйте RemoteFile для извлечения содержимого файла.

Dynamic Web Twain (DWT) не предоставляет захваченное изображение браузеру, поэтому браузер может использовать его в качестве поля ввода. Но мы должны загрузить его на наш сервер. DWT предоставляет ряд функций для этой цели. Вы можете использовать любое из следующего, которое отвечает вашим потребностям-

Функции FTP:

  • FTPUpload ()
  • FTPUploadAllAsMultiPageTIFF ()
  • FTPUploadAllAsPDF ()
  • FTPUploadAsMultiPagePDF ()
  • FTPUploadAllAsMultiPageTIFF ()
  • FTPUploadAllAsPDF ()
  • FTPUploadAsMultiPagePDF ()
  • FTPUploadAsMultiPageTIFF ()
  • FTPUploadDirectly ()
  • FTPUploadEx ()

HTTP функции:

  • HTTPUploadAllThroughPostAsMultiPageTIFF ()
  • HTTPUploadAllThroughPostAsPDF ()
  • HTTPUploadThroughPost ()
  • HTTPUploadThroughPostAsMultiPagePDF ()
  • HTTPUploadThroughPostAsMultiPageTIFF ()
  • HTTPUploadThroughPostDirectly ()
  • HTTPUploadThroughPostEx ()

Вы знаете лучше, какой из них подходит для вас. Например, если вы хотите загрузить все изображения в формате PDF и хотите использовать пост-запрос HTTP, вы должны использовать HTTPUploadAllThroughPostAsPDF.

DWObject.HTTPUploadAllThroughPostAsPDF(location.hostname, $POST_URL, 'my-test-file.pdf');

Возможно, вам понадобится передать некоторые другие поля вместе с файлом. В этом случае вы можете использовать SetHTTPFormField. Вот подробный пример загрузки изображений в формате PDF.

DWObject.SetHTTPFormField("field1", "field1 value");
DWObject.SetHTTPFormField("field2", "field2 value");
DWObject.IfSSL = ('https:' === location.protocol);
if (location.port != '') {
    DWObject.HTTPPort = location.port;
} else {
    DWObject.HTTPPort = (DWObject.IfSSL) ? 443 : 80;
}
DWObject.HTTPUploadAllThroughPostAsPDF(location.hostname, $POST_URL, 'my-test-file.pdf');
Другие вопросы по тегам