首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在asp经典版本中本地保存远程CSV文件

在asp经典版本中本地保存远程CSV文件
EN

Stack Overflow用户
提问于 2018-08-06 18:09:29
回答 1查看 332关注 0票数 1

从远程服务器保存CSV文件(datafeed)时出错。对于某些数据成功,它可以像预期的那样工作,但在其他数据中标记一个错误。

该代码检索远程数据并将其本地保存为datafeed.csv。

这是目前为止的剧本。

代码语言:javascript
复制
Set xhr = Server.CreateObject("MSXML2.ServerXMLHTTP")
xhr.Open "GET", remote_datafeed, False
xhr.Send

IF NOT xhr.Status = 200 THEN
Response.write"Error retrieving remote CSV file"

else


sResponse = split(xhr.responseText, vbcrlf)


set datafeed = fs.CreateTextFile("files/datafeed.csv", true)

For i = 0 to uBound(sResponse)  
        datafeed.WriteLine sResponse(i)
Next

Response.write "Remote file has successfully been save locally <br>"

datafeed.close
set datafeed = nothing

我有时会在下面的一行中出现错误。

代码语言:javascript
复制
datafeed.WriteLine sResponse(i)

我得到的错误是:

代码语言:javascript
复制
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-11 18:58:45

在查看了远程数据后,发现这与utf-8字符集有关。更改为以下代码解决了使用utf-8字符集的问题。

代码语言:javascript
复制
Dim objStream 
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 2
objStream.Mode = 3
objStream.Open
objStream.Position = 0
objStream.Charset = "UTF-8"
objStream.WriteText xhr.responseText
objStream.SaveToFile "files/datafeed.csv"
objStream.Close
Set objStream = nothing
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51713384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档