webscan:

1)去掉base64前缀
2)初始化后,自动调用获取设备列表的接口
3)实现source=Adf-front和Adf-back功能
This commit is contained in:
luoliangyi 2024-10-21 14:24:15 +08:00
parent 0cb13a6ca4
commit 8781af97df
2 changed files with 38 additions and 26 deletions

View File

@ -237,6 +237,18 @@ WebUser::WebUser(WebServer* server, HGUInt id, HGMsgPump msgPump, const std::str
SANE_Int version_code = 0; SANE_Int version_code = 0;
sane_init_ex(&version_code, sane_ex_callback, this); sane_init_ex(&version_code, sane_ex_callback, this);
#if defined(HG_CMP_MSC)
Sleep(500);
#else
usleep(500 * 1000);
#endif
if (!m_server->IsOld())
{
std::string cmd = "CDEV";
PostCmdMsg((const HGByte*)cmd.c_str(), (HGUInt)cmd.size());
}
} }
WebUser::~WebUser() WebUser::~WebUser()
@ -867,7 +879,7 @@ void WebUser::GetSettingInfoNew(const std::string& devName)
AddOptItem(optJson, arrayJson, "filetype", m_filetype.c_str(), fileTypeList); AddOptItem(optJson, arrayJson, "filetype", m_filetype.c_str(), fileTypeList);
const char* showBase64List[] = { "0", "1", NULL }; const char* showBase64List[] = { "0", "1", NULL };
AddOptItem(optJson, arrayJson, "showbase64", m_showbase64.c_str(), showBase64List); AddOptItem(optJson, arrayJson, "showbase64", m_showbase64.c_str(), showBase64List);
const char* sourceList[] = { "Adf-duplex", NULL }; const char* sourceList[] = { "Adf-front", "Adf-back", "Adf-duplex", NULL };
AddOptItem(optJson, arrayJson, "source", m_source.c_str(), sourceList); AddOptItem(optJson, arrayJson, "source", m_source.c_str(), sourceList);
const char* modeList[] = { "Lineart", "Gray", "Color", NULL }; const char* modeList[] = { "Lineart", "Gray", "Color", NULL };
AddOptItem(optJson, arrayJson, "mode", m_mode.c_str(), modeList); AddOptItem(optJson, arrayJson, "mode", m_mode.c_str(), modeList);
@ -1759,27 +1771,6 @@ std::string WebUser::GetBase64(const std::string& filePath)
fclose(file); fclose(file);
} }
if (!base64.empty())
{
HGUInt imgType = 0;
HGImgFmt_GetImgFmtType(filePath.c_str(), &imgType);
std::string prefix;
if (HGIMGFMT_TYPE_JPEG == imgType)
prefix = "data:image/jpeg;base64,";
else if (HGIMGFMT_TYPE_BMP == imgType)
prefix = "data:image/bmp;base64,";
else if (HGIMGFMT_TYPE_PNG == imgType)
prefix = "data:image/png;base64,";
else if (HGIMGFMT_TYPE_TIFF == imgType)
prefix = "data:image/tiff;base64,";
else if (HGIMGFMT_TYPE_PDF == imgType)
prefix = "data:application/pdf;base64,";
else if (HGIMGFMT_TYPE_PNM == imgType)
prefix = "data:image/pnm;base64,";
base64.insert(0, prefix);
}
return base64; return base64;
} }
@ -1898,6 +1889,25 @@ void WebUser::SetParam(const std::string& devParam)
cJSON_Delete(json); cJSON_Delete(json);
} }
if (m_source == "Adf-front")
{
SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_DM);
HGBool b = HGFALSE;
SetParam(OPTION_TITLE_JHZFM, &b);
}
else if (m_source == "Adf-back")
{
SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_DM);
HGBool b = HGTRUE;
SetParam(OPTION_TITLE_JHZFM, &b);
}
else
{
SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_SM);
HGBool b = HGFALSE;
SetParam(OPTION_TITLE_JHZFM, &b);
}
if (m_mode == "Lineart") if (m_mode == "Lineart")
{ {
SetParam(OPTION_TITLE_YSMS, OPTION_VALUE_YSMS_HB); SetParam(OPTION_TITLE_YSMS, OPTION_VALUE_YSMS_HB);
@ -1946,7 +1956,8 @@ void WebUser::SetParam(const std::string& devParam)
if (m_blankpageskip == "yes") if (m_blankpageskip == "yes")
{ {
SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_TGKBYTY); HGBool b = HGTRUE;
SetParam(OPTION_TITLE_TGKBY, &b);
HGInt value = 50; HGInt value = 50;
if (m_blankpageskipsensitivity == "1") if (m_blankpageskipsensitivity == "1")
@ -1961,7 +1972,8 @@ void WebUser::SetParam(const std::string& devParam)
} }
else else
{ {
SetParam(OPTION_TITLE_SMYM, OPTION_VALUE_SMYM_SM); HGBool b = HGFALSE;
SetParam(OPTION_TITLE_TGKBY, &b);
} }
if (atoi(m_deletefilesbeforescan.c_str())) if (atoi(m_deletefilesbeforescan.c_str()))

View File

@ -66,7 +66,7 @@
if (base64) if (base64)
{ {
var myCanvas = document.getElementById("myCanvas"); var myCanvas = document.getElementById("myCanvas");
myCanvas.src = base64; myCanvas.src = "data:image/png;base64," + base64;
} }
} }
@ -81,7 +81,7 @@
if (imgbase64data) if (imgbase64data)
{ {
var myCanvas = document.getElementById("myCanvas"); var myCanvas = document.getElementById("myCanvas");
myCanvas.src = imgbase64data; myCanvas.src = "data:image/jpeg;base64," + imgbase64data;
} }
} }