怎么在asp里面把保存在dbf通用字段里的doc文档读出来?

kpingcsdn 2006-06-06 04:21:06
怎么在asp里面把保存在dbf通用字段里的doc文档读出来?
...全文
138 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kpingcsdn 2006-06-16
  • 打赏
  • 举报
回复
根据 apple_8180(十豆三) 提供的例子已解决,感谢!
kpingcsdn 2006-06-08
  • 打赏
  • 举报
回复
就是显示,“OLE绑定型控件”有没有现成的,foxpro我不会写:)
PS:表中有好几个通用型字段。
huijcbit 2006-06-07
  • 打赏
  • 举报
回复
学习
十月鹰飞 2006-06-07
  • 打赏
  • 举报
回复
受教了,学习。。
如果只是显示,OLE绑定型控件应该足够了。
十豆三 2006-06-06
  • 打赏
  • 举报
回复
转帖VFP中方法,请参考:

通用型(G)字段里的文件还原

*----------------------------------

* ---------------------------------------------------------
* 测试代码
* ---------------------------------------------------------
CLEAR
SET TALK OFF
SET SAFETY OFF
IF !USED([TBac023])
USE C:\Temp\Abc.DBF IN 0 ALIAS TAbc
ENDIF
SELECT TAbc
SCAN
lcFileName = JUSTFNAME(ALLTRIM(文件名称))
? lcFileName, GenToFile( [文件内容], [C:\Temp\Files\]+lcFileName )
ENDSCAN
USE IN TAbc
RETURN

* ---------------------------------------------------------
* 函数: 将当前表的当前记录的某通用型(G)字段里的文件还原
* 参数: tcGenField 通用型字段名
* tcFileName 还原的文件名
* 设计: 红雨、梦幻幻影
* ---------------------------------------------------------
FUNCTION GenToFile( tcGenField, tcFileName )
LOCAL IsOK, lcAlias, lnRecn
IsOK = .F.
lcAlias = ALIAS()
IF !EMPTY(lcAlias) ;
AND TYPE([tcGenField])=[C] AND TYPE([tcFileName])=[C] ;
AND !EMPTY(tcGenField) AND !EMPTY(tcFileName) ;
AND TYPE(tcGenField)=[G] AND TRANSFORM(&tcGenField.)=[Gen]
lnRecn = RECNO()
lcTemp = ADDBS(SYS(2023)) + [T]+SYS(2015)
COPY TO (lcTemp) FIELDS (tcGenField) FOR RECNO()=lnRecn
IF FILE(lcTemp+[.dbf]) AND FILE(lcTemp+[.fpt])
DELETE FILE (lcTemp+[.dbf])
IF FILE(tcFileName)
DELETE FILE (tcFileName)
ENDIF
RENAME (lcTemp+[.fpt]) TO (tcFileName)
IsOK = FILE(tcFileName)
ENDIF
SELECT (lcAlias)
GO lnRecn
ENDIF
RETURN IsOK
ENDFUNC

十豆三 2006-06-06
  • 打赏
  • 举报
回复
转帖VFP中方法,请参考:

提取.DBF中通用字段中的一个图片或文件(.BMP,.DOC,.GIF或.JPG文件)

*----------------------------------------------------------------

*--复制 .DBF 通用字段内容到一个.BMP,.DOC,.GIF 或 .JPG 文件,
*--切去由 APPEND GENERAL 命令添加的所有的头和尾部信息.
*--调用方法 =gentofil(字段名,表名)

&& parameters lcfieldname,lcfilename

*****************************************************************************
******************************************************************************
*-- 要运行该示例,将 VFP 示例表 employee.dbf, employee.fpt, employee.cdx
*-- 复制到该文件所在目录, 并将该目录设置为默认目录. 然后在命令窗口打入:
*-- do gentofil
*-- 这样,该示例程序将根据通用字段内容的属性.把在当前 employee 表中第一条记录的通用字段 photo 中的内容
*-- 复制到一个 employee.bmp/employee.doc/employee.jpg/employee.gif 文件中。
******************************************************************************
******************************************************************************
lcfieldname = "photo"
lcfilename = "employee"
SET DEFA TO c:\copygen
LOCAL lccompatible,lcextension,liendoffset,;
lctempfile,lihandelin,lihandleout,lisize,llsuccess
lccompatible=SET("COMPATIBLE") && 保存 "Compatible" 设置
SET COMPATIBLE ON && 这样 FSIZE 函数返回文件大小, 而不是字段大小
IF "." $ lcfilename
lcfilename=LEFT(lcfilename,AT(".",lcfilename))
ENDIF
lctempfile=SYS(3) && 指定临时文件名
COPY TO (lctempfile) FIELDS (lcfieldname) NEXT 1 && 复制通用字段的内容到临时文件中
lihandlein=FOPEN(lctempfile+".FPT") && 打开它的 .FPT

*--考查 .FPT 内容以决定嵌入文档的类型
DO CASE
CASE FSEEK(lihandlein,590)>0 .AND. FREAD(lihandlein,2)="BM"
lcextension="BMP"
liendoffset=FSEEK(lihandlein,590)+83
*-- 注: 在源代码中 以上代码行中的 590 为 599
CASE FSEEK(lihandlein,610)>0 .AND. ASC(FREAD(lihandlein,1))=208 .AND. ASC(FREAD(lihandlein,1))=207 .AND. ASC(FREAD(lihandlein,1))=17
lcextension="DOC"
liendoffset=FSEEK(lihandlein,610)+16798
CASE FSEEK(lihandlein,669)>0 .AND. ASC(FREAD(lihandlein,1))=255 .AND. ASC(FREAD(lihandlein,1))=216 .AND. ASC(FREAD(lihandlein,1))=255
lcextension="JPG"
liendoffset=FSEEK(lihandlein,648)+3779
*-- 注: 在源代码中 以上代码行中的 669 为 648
CASE FSEEK(lihandlein,666)>0 .AND. FREAD(lihandlein,3)="GIF"
lcextension="GIF"
liendoffset=FSEEK(lihandlein,666)+3780
*-- 注: 在源代码中 以上代码行中的 666 为 663
OTHERWISE
lcextension=""
ENDCASE
IF .NOT. EMPTY(lcextension)
lisize=FSIZE(lctempfile+".FPT")-liendoffset && 决定数据大小
lihandleout=FCREATE(lcfilename+"."+lcextension) && 创建输出文件
=FWRITE(lihandleout,FREAD(lihandlein,lisize)) && 复制数据到它
=FCLOSE(lihandlein) && 关闭临时 .FPT..
=FCLOSE(lihandleout) && ...和输出文件
ENDIF
IF EMPTY(lcextension)
MESSAGEBOX("未找到该类型的通用字段",0,"注意")
SET COMPATIBLE &lccompatible && 恢复 "Compatible"
RETURN .F.
ENDIF
lctempfile=lctempfile+".*" && 删除临时 .DBF/.FPT
ERASE (m.lctempfile)
SET COMPATIBLE &lccompatible && 恢复 "Compatible"
IF FILE(lcfilename+"."+lcextension)
llsuccess=.T.
ENDIF
RETURN llsuccess
十豆三 2006-06-06
  • 打赏
  • 举报
回复
用VFP做个中间程序或DLL,然后由ASP调用这个中间程序或DLL,VFP中的方法请参考:


*假设有一个TEMP.DBF表,此表中有一个通用型字段,并存有图片(*.BMP)
*以下是把此图片文件从表中导出,生成名为Text.bmp文件。
*此方法只适合表中只有一条通用型字段记录含有图片文件
*------------------------------

handlein=FOPEN("temp.fpt")
handleout=FCREATE("Test.Bmp")
&&如果事先知道表中存的为BMP文件,如果存的为JPG文件,此处改为Test.jpg


*** 决定"Temp.fpt"文件的长度
gnEnd = FSEEK(handlein, 0, 2)
gnTop = FSEEK(handlein, 0)


*** 保存全部文件到一个串 "str1" 中
str1 = FREAD(handlein, gnEnd)


*** 从 Str1 的偏移 599 字节开始保存到 "str2"
str2=RIGHT(str1,LEN(str1)-599)
*** 写 "Str2" 到 BMP 文件 "Test.BMP"
n=FWRITE(handleout,str2)

*** 关闭两个打开的文件
=FCLOSE(handlein)
=FCLOSE(handleout)

&&会在当前目录下生成一个Test.bmp文件。

String filePath=""; File file=new File(filePath); //解决乱码问题 String filename=URLEncoder.encode(file.getName(),"utf-8"); //重置输出流 response.reset(); Response.AddHeader("Content-Disposition", "attachment;filename="+filename);//设置文件名 response.addHeader("Content-Length",file.length);//设置下载文件大小 response.setContentType("application/octet-stream");//设置文件类型 OutputStream toClient=new BufferedOuntputStream( response.getOutputStream() );//获取二进制输出流 //读取文件数据 InputStream fis=new BufferedInputStream(new FileInputStream(filePath)); byte[] buffer=new byte[file.length()]; fis.read(buffer); fis.close(); //输出文件数据 toClient.write(buffer); toClient.close(); 文件类型如下: ".*"="application/octet-stream" ".001"="application/x-001" ".301"="application/x-301" ".323"="text/h323" ".906"="application/x-906" ".907"="drawing/907" ".a11"="application/x-a11" ".acp"="audio/x-mei-aac" ".ai"="application/postscript" ".aif"="audio/aiff" ".aifc"="audio/aiff" ".aiff"="audio/aiff" ".anv"="application/x-anv" ".asa"="text/asa" ".asf"="video/x-ms-asf" ".asp"="text/asp" ".asx"="video/x-ms-asf" ".au"="audio/basic" ".avi"="video/avi" ".awf"="application/vnd.adobe.workflow" ".biz"="text/xml" ".bmp"="application/x-bmp" ".bot"="application/x-bot" ".c4t"="application/x-c4t" ".c90"="application/x-c90" ".cal"="application/x-cals" ".cat"="application/vnd.ms-pki.seccat" ".cdf"="application/x-netcdf" ".cdr"="application/x-cdr" ".cel"="application/x-cel" ".cer"="application/x-x509-ca-cert" ".cg4"="application/x-g4" ".cgm"="application/x-cgm" ".cit"="application/x-cit" ".class"="java/*" ".cml"="text/xml" ".cmp"="application/x-cmp" ".cmx"="application/x-cmx" ".cot"="application/x-cot" ".crl"="application/pkix-crl" ".crt"="application/x-x509-ca-cert" ".csi"="application/x-csi" ".css"="text/css" ".cut"="application/x-cut" ".dbf"="application/x-dbf" ".dbm"="application/x-dbm" ".dbx"="application/x-dbx" ".dcd"="text/xml" ".dcx"="application/x-dcx" ".der"="application/x-x509-ca-cert" ".dgn"="application/x-dgn" ".dib"="application/x-dib" ".dll"="application/x-msdownload" ".doc"="application/msword" ".dot"="application/msword" ".drw"="application/x-drw" ".dtd"="text/xml" ".dwf"="Model/vnd.dwf" ".dwf"="application/x-dwf" ".dwg"="application/x-dwg" ".dxb"="application/x-dxb" ".dxf"="application/x-dxf" ".edn"="application/vnd.adobe.edn" ".emf"="application/x-emf" ".eml"="message/rfc822" ".ent"="text/xml" ".epi"="application/x-epi" ".eps"="application/x-ps" ".eps"="application/postscript" ".etd"="application/x-ebx" ".exe"="application/x-msdownload" ".fax"="image/fax" ".fdf"="application/vnd.fdf" ".fif"="application/fractals" ".fo"="text/xml" ".frm"="application/x-frm" ".g4"="application/x-g4" ".gbr"="application/x-gbr" ".gcd"="application/x-gcd" ".gif"="image/gif" ".gl2"="application/x-gl2" ".gp4"="application/x-gp4" ".hgl"="application/x-hgl" ".hmr"="application/x-hmr" ".hpg"="application/x-hpgl" ".hpl"="application/x-hpl" ".hqx"="application/mac-binhex40" ".hrf"="application/x-hrf" ".hta"="application/hta" ".htc"="text/x-component" ".htm"="text/html" ".html"="text/html" ".htt"="text/webviewhtml" ".htx"="text/html" ".icb"="application/x-icb" ".ico"="image/x-icon" ".ico"="application/x-ico" ".iff"="application/x-iff" ".ig4"="application/x-g4" ".igs"="application/x-igs" ".iii"="application/x-iphone" ".img"="application/x-img" ".ins"="application/x-internet-signup" ".isp"="application/x-internet-signup" ".IVF"="video/x-ivf" ".java"="java/*" ".jfif"="image/jpeg" ".jpe"="image/jpeg" ".jpe"="application/x-jpe" ".jpeg"="image/jpeg" ".jpg"="image/jpeg" ".jpg"="application/x-jpg" ".js"="application/x-javascript" ".jsp"="text/html" ".la1"="audio/x-liquid-file" ".lar"="application/x-laplayer-reg" ".latex"="application/x-latex" ".lavs"="audio/x-liquid-secure" ".lbm"="application/x-lbm" ".lmsff"="audio/x-la-lms" ".ls"="application/x-javascript" ".ltr"="application/x-ltr" ".m1v"="video/x-mpeg" ".m2v"="video/x-mpeg" ".m3u"="audio/mpegurl" ".m4e"="video/mpeg4" ".mac"="application/x-mac" ".man"="application/x-troff-man" ".math"="text/xml" ".mdb"="application/msaccess" ".mdb"="application/x-mdb" ".mfp"="application/x-shockwave-flash" ".mht"="message/rfc822" ".mhtml"="message/rfc822" ".mi"="application/x-mi" ".mid"="audio/mid" ".midi"="audio/mid" ".mil"="application/x-mil" ".mml"="text/xml" ".mnd"="audio/x-musicnet-download" ".mns"="audio/x-musicnet-stream" ".mocha"="application/x-javascript" ".movie"="video/x-sgi-movie" ".mp1"="audio/mp1" ".mp2"="audio/mp2" ".mp2v"="video/mpeg" ".mp3"="audio/mp3" ".mp4"="video/mpeg4" ".mpa"="video/x-mpg" ".mpd"="application/vnd.ms-project" ".mpe"="video/x-mpeg" ".mpeg"="video/mpg" ".mpg"="video/mpg" ".mpga"="audio/rn-mpeg" ".mpp"="application/vnd.ms-project" ".mps"="video/x-mpeg" ".mpt"="application/vnd.ms-project" ".mpv"="video/mpg" ".mpv2"="video/mpeg" ".mpw"="application/vnd.ms-project" ".mpx"="application/vnd.ms-project" ".mtx"="text/xml" ".mxp"="application/x-mmxp" ".net"="image/pnetvue" ".nrf"="application/x-nrf" ".nws"="message/rfc822" ".odc"="text/x-ms-odc" ".out"="application/x-out" ".p10"="application/pkcs10" ".p12"="application/x-pkcs12" ".p7b"="application/x-pkcs7-certificates" ".p7c"="application/pkcs7-mime" ".p7m"="application/pkcs7-mime" ".p7r"="application/x-pkcs7-certreqresp" ".p7s"="application/pkcs7-signature" ".pc5"="application/x-pc5" ".pci"="application/x-pci" ".pcl"="application/x-pcl" ".pcx"="application/x-pcx" ".pdf"="application/pdf" ".pdf"="application/pdf" ".pdx"="application/vnd.adobe.pdx" ".pfx"="application/x-pkcs12" ".pgl"="application/x-pgl" ".pic"="application/x-pic" ".pko"="application/vnd.ms-pki.pko" ".pl"="application/x-perl" ".plg"="text/html" ".pls"="audio/scpls" ".plt"="application/x-plt" ".png"="image/png" ".png"="application/x-png" ".pot"="application/vnd.ms-powerpoint" ".ppa"="application/vnd.ms-powerpoint" ".ppm"="application/x-ppm" ".pps"="application/vnd.ms-powerpoint" ".ppt"="application/vnd.ms-powerpoint" ".ppt"="application/x-ppt" ".pr"="application/x-pr" ".prf"="application/pics-rules" ".prn"="application/x-prn" ".prt"="application/x-prt" ".ps"="application/x-ps" ".ps"="application/postscript" ".ptn"="application/x-ptn" ".pwz"="application/vnd.ms-powerpoint" ".r3t"="text/vnd.rn-realtext3d" ".ra"="audio/vnd.rn-realaudio" ".ram"="audio/x-pn-realaudio" ".ras"="application/x-ras" ".rat"="application/rat-file" ".rdf"="text/xml" ".rec"="application/vnd.rn-recording" ".red"="application/x-red" ".rgb"="application/x-rgb" ".rjs"="application/vnd.rn-realsystem-rjs" ".rjt"="application/vnd.rn-realsystem-rjt" ".rlc"="application/x-rlc" ".rle"="application/x-rle" ".rm"="application/vnd.rn-realmedia" ".rmf"="application/vnd.adobe.rmf" ".rmi"="audio/mid" ".rmj"="application/vnd.rn-realsystem-rmj" ".rmm"="audio/x-pn-realaudio" ".rmp"="application/vnd.rn-rn_music_package" ".rms"="application/vnd.rn-realmedia-secure" ".rmvb"="application/vnd.rn-realmedia-vbr" ".rmx"="application/vnd.rn-realsystem-rmx" ".rnx"="application/vnd.rn-realplayer" ".rp"="image/vnd.rn-realpix" ".rpm"="audio/x-pn-realaudio-plugin" ".rsml"="application/vnd.rn-rsml" ".rt"="text/vnd.rn-realtext" ".rtf"="application/msword" ".rtf"="application/x-rtf" ".rv"="video/vnd.rn-realvideo" ".sam"="application/x-sam" ".sat"="application/x-sat" ".sdp"="application/sdp" ".sdw"="application/x-sdw" ".sit"="application/x-stuffit" ".slb"="application/x-slb" ".sld"="application/x-sld" ".slk"="drawing/x-slk" ".smi"="application/smil" ".smil"="application/smil" ".smk"="application/x-smk" ".snd"="audio/basic" ".sol"="text/plain" ".sor"="text/plain" ".spc"="application/x-pkcs7-certificates" ".spl"="application/futuresplash" ".spp"="text/xml" ".ssm"="application/streamingmedia" ".sst"="application/vnd.ms-pki.certstore" ".stl"="application/vnd.ms-pki.stl" ".stm"="text/html" ".sty"="application/x-sty" ".svg"="text/xml" ".swf"="application/x-shockwave-flash" ".tdf"="application/x-tdf" ".tg4"="application/x-tg4" ".tga"="application/x-tga" ".tif"="image/tiff" ".tif"="application/x-tif" ".tiff"="image/tiff" ".tld"="text/xml" ".top"="drawing/x-top" ".torrent"="application/x-bittorrent" ".tsd"="text/xml" ".txt"="text/plain" ".uin"="application/x-icq" ".uls"="text/iuls" ".vcf"="text/x-vcard" ".vda"="application/x-vda" ".vdx"="application/vnd.visio" ".vml"="text/xml" ".vpg"="application/x-vpeg005" ".vsd"="application/vnd.visio" ".vsd"="application/x-vsd" ".vss"="application/vnd.visio" ".vst"="application/vnd.visio" ".vst"="application/x-vst" ".vsw"="application/vnd.visio" ".vsx"="application/vnd.visio" ".vtx"="application/vnd.visio" ".vxml"="text/xml" ".wav"="audio/wav" ".wax"="audio/x-ms-wax" ".wb1"="application/x-wb1" ".wb2"="application/x-wb2" ".wb3"="application/x-wb3" ".wbmp"="image/vnd.wap.wbmp" ".wiz"="application/msword" ".wk3"="application/x-wk3" ".wk4"="application/x-wk4" ".wkq"="application/x-wkq" ".wks"="application/x-wks" ".wm"="video/x-ms-wm" ".wma"="audio/x-ms-wma" ".wmd"="application/x-ms-wmd" ".wmf"="application/x-wmf" ".wml"="text/vnd.wap.wml" ".wmv"="video/x-ms-wmv" ".wmx"="video/x-ms-wmx" ".wmz"="application/x-ms-wmz" ".wp6"="application/x-wp6" ".wpd"="application/x-wpd" ".wpg"="application/x-wpg" ".wpl"="application/vnd.ms-wpl" ".wq1"="application/x-wq1" ".wr1"="application/x-wr1" ".wri"="application/x-wri" ".wrk"="application/x-wrk" ".ws"="application/x-ws" ".ws2"="application/x-ws" ".wsc"="text/scriptlet" ".wsdl"="text/xml" ".wvx"="video/x-ms-wvx" ".xdp"="application/vnd.adobe.xdp" ".xdr"="text/xml" ".xfd"="application/vnd.adobe.xfd" ".xfdf"="application/vnd.adobe.xfdf" ".xhtml"="text/html" ".xls"="application/vnd.ms-excel" ".xls"="application/x-xls" ".xlw"="application/x-xlw" ".xml"="text/xml" ".xpl"="audio/scpls" ".xq"="text/xml" ".xql"="text/xml" ".xquery"="text/xml" ".xsd"="text/xml" ".xsl"="text/xml" ".xslt"="text/xml" ".xwd"="application/x-xwd" ".x_b"="application/x-x_b" ".x_t"="application/x-x_t"

2,748

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧