Я использую скрипт vb для загрузки файла на сервер. У меня проблема в том, что когда я устанавливаю файл в формате ASCII, как это ...
Set oFile = oFS.CreateTextFile(sPath & FileName, True, False)
Я получаю ошибку, когда вызывается саб, в котором говорится
Недопустимый вызов процедуры или аргумент
но если я установлю файл в юникод
Set oFile = oFS.CreateTextFile(sPath & FileName, True, True)
загружается успешно, но не открывается из-за неправильной кодировки.
Эта строка выдает ошибку, если формат ASCII, это
oFile.Write BinaryToString(FileData)
где oFile
- файл ASCII, который я создал выше
Вот исходный код, который выдает ошибку. Это функция загрузки, я вышел из сети ..
Public Sub SaveToDisk(sPath)
Dim oFS, oFile
Dim nIndex
If sPath = "" Or FileName = "" Then Exit Sub
If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
Set oFS = Server.CreateObject("Scripting.FileSystemObject")
If Not oFS.FolderExists(sPath) Then Exit Sub
Set oFile = oFS.CreateTextFile(sPath & FileName, True, False)
oFile.Write BinaryToString(FileData)
oFile.Close
End Sub
Function BinaryToString(Binary)
'Antonin Foller, http://www.motobit.com
'Optimized version of a simple BinaryToString algorithm.
Dim cl1, cl2, cl3, pl1, pl2, pl3
Dim L
cl1 = 1
cl2 = 1
cl3 = 1
L = LenB(Binary)
Do While cl1<=L
pl3 = pl3 & Chr(AscB(MidB(Binary,cl1,1)))
cl1 = cl1 + 1
cl3 = cl3 + 1
If cl3>300 Then
pl2 = pl2 & pl3
pl3 = ""
cl3 = 1
cl2 = cl2 + 1
If cl2>200 Then
pl1 = pl1 & pl2
pl2 = ""
cl2 = 1
End If
End If
Loop
BinaryToString = pl1 & pl2 & pl3
End Function
Может ли это быть конфигурации на сервере? Если это имеет смысл, пожалуйста, помогите ..