我有一个perl脚本,可以在浏览器中生成midi文件。我想运行一个经典的asp脚本,二进制读取输出的midi文件并将其保存到服务器。但是使用查询字符串生成该文件,使用GetFile无法读入FileSystemObject
我想要的是
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("1090.pl?chord=C&chord_id=1090")
然而,这并不起作用。我正在寻找想法或其他方法如何将这个自动生成的midi文件读入二进制对象,然后我可以将其保存到服务器
答案 0 :(得分:3)
您不能将文件系统对象用于此目的,而是可以使用XMLHTTP对象。这是一个如何使用它的例子。请注意,您需要更改strFileURL(1090.pl脚本的URL)和strHDLocation(在服务器上保存的位置 - 您还需要确保网站对您选择的任何位置具有读/写权限)。
<%
' Set your settings
strFileURL = "http://localhost/1090.pl?chord=C&chord_id=1090"
strHDLocation = "c:\filename.ext"
' Fetch the file
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.saveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
%>