VBSCRIPT Загрузить файл на сервер

Я пытаюсь сделать скрипт для загрузки любого файла в простую форму загрузки HTML / PHP.
Я не могу найти никаких рабочих скриптов, которые не используют ASP.
Это ближайший код, который у меня есть: (VBS)

Dim strURL
Dim HTTP
Dim dataFile
Dim dataRequest
Dim objStream
strURL = "http://10.0.0.50/~/v_upload/up.php"Set HTTP = CreateObject("Microsoft.XMLHTTP")
Set objStream = CreateObject("ADODB.Stream")
Set dataFile = objStream.Read
objStream.Type = 2
objStream.Open
objStream.LoadFromFile "http.txt"
Set dataRequest = "dataFile=" & dataFile

HTTP.open "POST", strURL, False
HTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"HTTP.setRequestHeader "Content-Length", Len(dataRequest)

WScript.Echo "Now uploading file G:\Http\http.txt"
HTTP.send dataRequest
WScript.Echo HTTP.responseText

Set HTTP = Nothing

Это дает мне эту ошибку:

Линия 9
Чар 1
Ошибка: операция не допускается, когда объект
закрыто
Код 800A0E78
Источник ADODB.Stream

Код PHP:

<?php
if (!isset($_FILES['dataFile']['error']) || is_array($_FILES['dataFile']['error'])) {
switch ($_FILES['dataFile']['error']) {
case UPLOAD_ERR_OK:
break;
case UPLOAD_ERR_NO_FILE:
echo 'Unable to Upload. No file sent.';
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
echo 'Unable to Upload. Exceeded file size limit.';
default:
echo 'Unable to Upload. Unknown errors.';
}
die();
}
$file_path = "http/";
$file_path = $file_path . basename( $_FILES['dataFile']['name']);
if(move_uploaded_file($_FILES['dataFile']['tmp_name'], $file_path)) {
echo "File {$_FILE['dataFile']['name']} uploaded success";
} else{
echo "Unable to upload. Unable to move uploaded file.";
}
?>

Пожалуйста помоги!

1

Решение

Есть в основном 4 ошибки, которые необходимо исправить:

  • Удалить set от line 9
  • + Изменить objStream.Read в objStream.ReadText
  • Переехать line 9 после objStream.LoadFromFile
  • Удалить set от line 14

Полный код:

Dim strURL
Dim HTTP
Dim dataFile
Dim dataRequest
Dim objStream
strURL = "http://10.0.0.50/~/v_upload/up.php"Set HTTP = CreateObject("Microsoft.XMLHTTP")
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = 2
objStream.Open
objStream.LoadFromFile "http.txt"dataFile = objStream.ReadText

dataRequest = "dataFile=" & dataFile

HTTP.open "POST", strURL, False
HTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"HTTP.setRequestHeader "Content-Length", Len(dataRequest)

WScript.Echo "Now uploading file G:\Http\http.txt"
HTTP.send dataRequest
WScript.Echo HTTP.responseText

Set HTTP = Nothing
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]