欢迎光临
我们一直在努力

ASP怎样实现通过传真机把传真直接保存进数据库?!-ASP教程,数据库相关

建站超值云服务器,限时71元/月

传真是以 tif 格式图片保存在文件系统内;关于怎么样在计算机收发传真,可以参考:http://notebook.yesky.com/serverindex/77128644744445952/20040823/1845371.shtml的文章;
我说的重点是”以 tif 格式图片保存在文件系统内”你可以用asp编程扫描此文件夹内的图片:并存入数据库内;
有部分参考代码:
利用fso取得bmp,jpg,png,gif文件信息(大小,宽、高等)
<%
::: bmp, gif, jpg and png ::: 

::: this function gets a specified number of bytes from any :::
::: file, starting at the offset (base 1) :::
::: :::
::: passed: :::
::: flnm => filespec of file to read :::
::: offset => offset at which to start reading :::
::: bytes => how many bytes to read :::
::: :::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function getbytes(flnm, offset, bytes)
dim objfso
dim objftemp
dim objtextstream
dim lngsize
on error resume next
set objfso = createobject(“scripting.filesystemobject”) 

first, we get the filesize
set objftemp = objfso.getfile(flnm)
lngsize = objftemp.size
set objftemp = nothing
fsoforreading = 1
set objtextstream = objfso.opentextfile(flnm, fsoforreading)
if offset > 0 then
strbuff = objtextstream.read(offset – 1)
end if
if bytes = -1 then get all!
getbytes = objtextstream.read(lngsize) readall
else
getbytes = objtextstream.read(bytes)
end if
objtextstream.close
set objtextstream = nothing
set objfso = nothing
end function 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::: :::
::: functions to convert two bytes to a numeric value (long) :::
::: (both little-endian and big-endian) :::
::: :::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function lngconvert(strtemp)
lngconvert = clng(asc(left(strtemp, 1)) + ((asc(right(strtemp, 1)) * 256)))
end function
function lngconvert2(strtemp)
lngconvert2 = clng(asc(right(strtemp, 1)) + ((asc(left(strtemp, 1)) * 256)))
end function 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::: :::
::: this function does most of the real work. it will attempt :::
::: to read any file, regardless of the extension, and will :::
::: identify if it is a graphical image. :::
::: :::
::: passed: :::
::: flnm => filespec of file to read :::
::: width => width of image :::
::: height => height of image :::
::: depth => color depth (in number of colors) :::
::: strimagetype=> type of image (e.g. gif, bmp, etc.) :::
::: :::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
function gfxspex(flnm, width, height, depth, strimagetype)
dim strpng
dim strgif
dim strbmp
dim strtype
strtype = “”
strimagetype = “(unknown)”
gfxspex = false
strpng = chr(137) & chr(80) & chr(78)
strgif = “gif”
strbmp = chr(66) & chr(77)
strtype = getbytes(flnm, 0, 3)
if strtype = strgif then is gif
strimagetype = “gif”
width = lngconvert(getbytes(flnm, 7, 2))
height = lngconvert(getbytes(flnm, 9, 2))
depth = 2 ^ ((asc(getbytes(flnm, 11, 1)) and 7) + 1)
gfxspex = true
elseif left(strtype, 2) = strbmp then is bmp
strimagetype = “bmp”
width = lngconvert(getbytes(flnm, 19, 2))
height = lngconvert(getbytes(flnm, 23, 2))
depth = 2 ^ (asc(getbytes(flnm, 29, 1)))
gfxspex = true
elseif strtype = strpng then is png
strimagetype = “png”
width = lngconvert2(getbytes(flnm, 19, 2))
height = lngconvert2(getbytes(flnm, 23, 2))
depth = getbytes(flnm, 25, 2)
select case asc(right(depth,1))
case 0
depth = 2 ^ (asc(left(depth, 1)))
gfxspex = true
case 2
depth = 2 ^ (asc(left(depth, 1)) * 3)
gfxspex = true
case 3
depth = 2 ^ (asc(left(depth, 1))) 8
gfxspex = true
case 4
depth = 2 ^ (asc(left(depth, 1)) * 2)
gfxspex = true
case 6
depth = 2 ^ (asc(left(depth, 1)) * 4)
gfxspex = true
case else
depth = -1
end select 

else
strbuff = getbytes(flnm, 0, -1) get all bytes from file
lngsize = len(strbuff)
flgfound = 0
strtarget = chr(255) & chr(216) & chr(255)
flgfound = instr(strbuff, strtarget)
if flgfound = 0 then
exit function
end if
strimagetype = “jpg”
lngpos = flgfound + 2
exitloop = false
do while exitloop = false and lngpos < lngsize 

do while asc(mid(strbuff, lngpos, 1)) = 255 and lngpos < lngsize
lngpos = lngpos + 1
loop
if asc(mid(strbuff, lngpos, 1)) < 192 or asc(mid(strbuff, lngpos, 1)) > 195 then
lngmarkersize = lngconvert2(mid(strbuff, lngpos + 1, 2))
lngpos = lngpos + lngmarkersize + 1
else
exitloop = true
end if
loop

if exitloop = false then
width = -1
height = -1
depth = -1
else
height = lngconvert2(mid(strbuff, lngpos + 4, 2))
width = lngconvert2(mid(strbuff, lngpos + 6, 2))
depth = 2 ^ (asc(mid(strbuff, lngpos + 8, 1)) * 8)
gfxspex = true
end if 

end if
end function 

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::: test harness :::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 

to test, well just try to show all files with a .gif extension in the root of c:
set objfso = createobject(“scripting.filesystemobject”)
set objf = objfso.getfolder(“c:\”)
set objfc = objf.files
response.write “<table border=””0″” cellpadding=””5″”>”
for each f1 in objfc
if instr(ucase(f1.name), “.gif”) then
response.write “<tr><td>” & f1.name & “</td><td>” & f1.datecreated & “</td><td>” & f1.size & “</td><td>”
if gfxspex(f1.path, w, h, c, strtype) = true then
response.write w & ” x ” & h & ” ” & c & ” colors”
else
response.write ” ”
end if
response.write “</td></tr>”
end if
next
response.write “</table>”
set objfc = nothing
set objf = nothing
set objfso = nothing 

%> 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ASP怎样实现通过传真机把传真直接保存进数据库?!-ASP教程,数据库相关
分享到: 更多 (0)