2016-04-19 13 views
0

Ich bin ein PHP/Javascript-Entwickler, der ein "einfaches" Skript erstellen muss, das auf einem Windows-Desktop ausgeführt wird, der ein gescanntes Bild an einen Server überträgt. Mit einem .vbs-Skript konnte ich alles tun, was ich tun musste, außer die Datei an den Server zu senden. Ich habe die letzten zwei Tage damit verbracht, zu googeln und Beispiele zu versuchen, aber nichts scheint zu funktionieren. Unten ist der Code, mit dem ich gerade kämpfe.Visual Basic: Hochladen einer Datei mit HTTP

Dim objShell,UserPath,sourcePath,strURL,stream, file, fileString, HTTPSevice, body 
Set objshell = CreateObject("WScript.shell") 
UserPath = objShell.ExpandEnvironmentStrings("%UserProfile%") 

strURL = "www.notWebsite.com/uploader.php" 
sourcePath = UserPath & "\Desktop\Scanned\scanned.jpg" 

set stream = CreateObject("Scripting.FileSystemObject") 
set file = stream.getfile(sourcePath) 
set fileString = file.openAsTextstream 
body = fileString.readAll 
fileString.close 

set xmlHttp = createobject("MSXML2.XMLHTTP.4.0") 
xmlhttp.open "POST",strURL,false 
xmlhttp.setRequestHeader "Content-Type", "multipart/form-data" 
xmlhttp.send body 

msgbox xmlhttp.responseText 

Der Code wirft keinen Fehler, es sendet nur eine leere Anfrage an den Server.

Wie bereits erwähnt, habe ich keine Erfahrung mit der Entwicklung von/on/near windows. Wenn also ein visuelles Basisskript nicht die richtige Option ist, lassen Sie es mich wissen und weisen Sie mich in die richtige Richtung. Ich bin bereit zu lernen, wie es funktioniert, aber ich bleibe einfach dran, wie ich weitermachen kann.

Vielen Dank im Voraus für Ihre Hilfe.

+1

Werfen Sie einen Blick auf ["Post binäre Daten in URL von WSH/ASP/VBA/VBScript"] (http://www.motobit.com/tips/detpg_post-binary-data-url/). Aber Sie sollten Ihre Technologie reaktivieren und über die Verwendung von PowerShell nachdenken. Es ist einfacher für einen PHP/JS-Entwickler zu verwenden und hat keine Probleme beim Hochladen von Dateien ... – Clijsters

+0

Vielen Dank! Ich habe diesen Link nicht gesehen, ich werde ihn jetzt definitiv lesen. Ich werde heute auch in PowerShell schauen. Danke noch einmal. –

Antwort

0

Die Verwendung von PowerShell ist 100% der Weg für meinen Anwendungsfall. Obwohl ich bis heute Morgen noch nie davon gehört habe, habe ich das Skript bereits zum Testen bereit.

+0

Schön zu hören! Möchten Sie Ihr Skript mit uns teilen, um andere Benutzer mit ähnlichen Fragen zu unterstützen? – Clijsters