asp的fso可以生成文件,但是写不进去内容
Setfso=Server.CreateObject("Scripting.FileSystemObject")fso.CreateFolder(Server.MapPa...
Set fso = Server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(Server.MapPath(htmlPageFolder1))
Set fout = fso.CreateTextFile(Server.MapPath(htmlPagePath),true)
fout.WriteLine mb_code
fout.close
set fout = nothing
set fso = nothing
请看这段代码,htmlPageFolder1为目录,htmlPagePath为文件名,mb_code为一段html代码大概22KB,运行后,可以生成html文件,但是为0KB,我要是把mb_code 换成测试字符的哈,就可以写进内容.不知道为什么,难道是我的模板文件太的,应该没有这限制吧,请高手指点...................
已经解决了,fso不能 utf-8编码文件,换个方法才行.
我把code贴出来
function createFile(sfilepath,scontent)
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText=scontent
.SaveToFile server.mappath(sfilepath),2
.Close
End With
Set objStream = Nothing
end function 展开
fso.CreateFolder(Server.MapPath(htmlPageFolder1))
Set fout = fso.CreateTextFile(Server.MapPath(htmlPagePath),true)
fout.WriteLine mb_code
fout.close
set fout = nothing
set fso = nothing
请看这段代码,htmlPageFolder1为目录,htmlPagePath为文件名,mb_code为一段html代码大概22KB,运行后,可以生成html文件,但是为0KB,我要是把mb_code 换成测试字符的哈,就可以写进内容.不知道为什么,难道是我的模板文件太的,应该没有这限制吧,请高手指点...................
已经解决了,fso不能 utf-8编码文件,换个方法才行.
我把code贴出来
function createFile(sfilepath,scontent)
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText=scontent
.SaveToFile server.mappath(sfilepath),2
.Close
End With
Set objStream = Nothing
end function 展开
1个回答
展开全部
看看mb_code变量,先response.write mb_code看看有无数据。 读模板是用.ReadAll吗?
更多追问追答
追问
response.wrtie mb_code 是有数据的,可以输出的,不知道您的ReadAll是什么意思呀?好像属性里没有改呀...请指教...
我这是utf-8编码的,fso不能对utf-8编码文件进行输出..
追答
读没有问题那就是创建问题,把那句分别换成以下几句试试
Set fout = fso.CreateTextFile(Server.MapPath(htmlPagePath),true,-2)
Set fout = fso.CreateTextFile(Server.MapPath(htmlPagePath),true,-1)
Set fout = fso.CreateTextFile(Server.MapPath(htmlPagePath),true,0)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询