Страница: 1 | 
		
		 
			   
			 
			 Как сделать на VBScript'е скрипт для онлайновой загрузки файлов на сайт. Если можно, то пример приведите. 
			 
			 На VBScript есть или нет, не скажу А вот на PHP у меня есть скрипт, если надо могк кинуть Не совсем верно. Если есть FSO, можно с помощью его прочитать файл, поставить его содержимое значением какого-нибудь хиддена в форме, потом отправить форму постом и поймать его скриптом на сервере... Ой. Просто я хотел на свойм сайте организовать что то типа бесплатного хостинга в моём домене. Например я создаю пользователю папку у МойДомен\Папка, даю пользователю пароль и он в соответствии с этим паролем может загрузить файлы тольок в СВОЮ папку через Веб браузер. Для это нужно обработать его пароль. Если пароль сходится отправить на сервак свой пароль. Конечно такой код очень слаб в плане защиты, но и защищать то в принципе нечего. --- Наверное это не реально. Зато идея была хорошая Почему это нельзя загружать на хостера свои файлы? Кто это запрещал? 2Павел: я же написал "ой"  Слышь CyRax если хочешь сделать бесплатный хостинг то используй Microsoft Personal Web Server.  Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: UpLoad на VBScript
     
    
Добавлено: 13.02.04 05:31
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 CyRax 
 | Web-сайт: basicproduction.nm.ru | ICQ: 204447456 
      
       
  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 12
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 ZeroX
![]()
![]()
![]()
![]()
ICQ: 220401330 
Вопросов: 47
Ответов: 406
      
 Профиль |  | #1
       
Добавлено:  13.02.04 11:14
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #2
      
Добавлено:  13.02.04 11:25
       
    
       
  
Для загрузки файлов на сервер клиентскими скриптами не обойтись. 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 Sharp
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  13.02.04 22:08
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 CyRax 
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 204447456 
Вопросов: 180
Ответов: 4229
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  14.02.04 02:12
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 Павел
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #5
      
Добавлено:  14.02.04 09:30
       
    
       
  
 
    
 Sharp, а как ты на сервере поймаешь файл, если можно пользоваться
только клиентскими скриптами?
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 shuffle
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 201502381 
Вопросов: 15
Ответов: 737
      
 Профиль |  | #6
       
Добавлено:  14.02.04 10:32
       
    
       
  
ИМХО,  если  хост  узнает  об этом - они лишат тебя домена. А вообще я 
    
думаю, здесь не обойтись без какого-нть ASP, PHP...
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 Yeputons
![]()
![]()
ICQ: 278444762 
Вопросов: 71
Ответов: 179
      
 Профиль |  | #7
       
Добавлено:  17.03.04 20:41
       
    
       
  
Слышь, Alex с чего ты взял что если хост об этом прознает то лишит его домена, а? 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 Sharp
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Лидер форума
ICQ: 216865379 
Вопросов: 106
Ответов: 9979
      
 Web-сайт:  
 Профиль |  | #8
      
Добавлено:  17.03.04 21:38
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа:
 shuffle
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Администратор
ICQ: 201502381 
Вопросов: 15
Ответов: 737
      
 Профиль |  | #9
       
Добавлено:  18.03.04 17:10
       
    
       
  
Обычно  бесплатные  хостинги  домен  дают  для домашнего сайта или для 
    
чего-нть  в  этом  роде... Но какой хостинг смирится с тем, что ты сам
будешь  раздавать  место под странички другим юзерам? Я не имею ввиду,
что  кто-то  тебе  запретит  сделать возможность файлы загружать, если
сервер позволяет...
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа:
 Yeputons
![]()
![]()
ICQ: 278444762 
Вопросов: 71
Ответов: 179
      
 Профиль |  | #10
       
Добавлено:  20.03.04 16:22
       
    
       
  
 
    
Для загрузки жми сюда. Если хочешь узнать как сделать UpLoad а ASP то жми сюда.
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа:
 urij
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Вопросов: 1
Ответов: 8
      
 Web-сайт:  
 Профиль |  | #11
      
Добавлено:  14.07.05 09:57
       
    
       
  
Взял со страницы: javascript:open('http://www.pstruh.cz/tips/detpg_uploadvbsie.htm','_top'); 
 
    
Скопировал в файл upload.vbs вот этот его (Copyright (C) 2001 Antonin Foller, PSTRUH Software) код: 
'Upload file using http protocol And multipart/form-data 
'v1.01 
'2001 Antonin Foller, PSTRUH Software 
do_vbsUpload 
Sub do_vbsUpload() 
  'We need at least two arguments (File + URL) 
  If WScript.Arguments.Count < 2 Then InfoEcho 
   
  'Are some required objects missing? 
  If InStr(CheckRequirements, "Error"
 > 0 Then InfoEcho 
   
  Dim FileName, DestURL, FieldName 
  FieldName = "FileField" 'Default field name 
   
  Dim aCounter, Arg 
  aCounter = 1 'Argument counter 
  For Each Arg In WScript.Arguments 
    Select Case aCounter 
      Case 1: FileName = Arg 
      Case 2: DestURL = Arg 
      Case 3: FieldName = Arg 
    End Select 
    aCounter = aCounter + 1 
  Next 
   
  UploadFile DestURL, FileName, FieldName 
End Sub 
'******************* upload - begin 
'Upload file using input type=file 
Sub UploadFile(DestURL, FileName, FieldName) 
  'Boundary of fields. 
  'Be sure this string is Not In the source file 
  Const Boundary = "---------------------------0123456789012" 
   
  Dim FileContents, FormData 
  'Get source file As a binary data. 
  FileContents = GetFile(FileName) 
   
  'Build multipart/form-data document 
  FormData = BuildFormData(FileContents, Boundary, FileName, FieldName) 
   
  'Post the data To the destination URL 
  IEPostBinaryRequest DestURL, FormData, Boundary 
End Sub 
'Build multipart/form-data document with file contents And header info 
Function BuildFormData(FileContents, Boundary, FileName, FieldName) 
  Dim FormData, Pre, Po 
  Const ContentType = "application/upload" 
   
  'The two parts around file contents In the multipart-form data. 
  Pre = "--" + Boundary + vbCrLf + mpFields(FieldName, FileName, ContentType) 
  Po = vbCrLf + "--" + Boundary + "--" + vbCrLf 
   
  'Build form data using recordset binary field 
  Const adLongVarBinary = 205 
  Dim RS: Set RS = CreateObject("ADODB.Recordset"
 
  RS.Fields.Append "b", adLongVarBinary, Len(Pre) + LenB(FileContents) + Len(Po) 
  RS.Open 
  RS.AddNew 
    Dim LenData 
    'Convert Pre string value To a binary data 
    LenData = Len(Pre) 
    RS("b"
.AppendChunk (StringToMB(Pre) & ChrB(0)) 
    Pre = RS("b"
.GetChunk(LenData) 
    RS("b"
 = "" 
     
    'Convert Po string value To a binary data 
    LenData = Len(Po) 
    RS("b"
.AppendChunk (StringToMB(Po) & ChrB(0)) 
    Po = RS("b"
.GetChunk(LenData) 
    RS("b"
 = "" 
     
    'Join Pre + FileContents + Po binary data 
    RS("b"
.AppendChunk (Pre) 
    RS("b"
.AppendChunk (FileContents) 
    RS("b"
.AppendChunk (Po) 
  RS.Update 
  FormData = RS("b"
 
  RS.Close 
  BuildFormData = FormData 
End Function 
'sends multipart/form-data To the URL using IE 
Function IEPostBinaryRequest(URL, FormData, Boundary) 
  'Create InternetExplorer 
  Dim IE: Set IE = CreateObject("InternetExplorer.Application"
 
   
  'You can uncoment Next line To see form results 
  'IE.Visible = True 
    
  'Send the form data To URL As POST multipart/form-data request 
  IE.Navigate URL, , , FormData, _ 
    "Content-Type: multipart/form-data; boundary=" + Boundary + vbCrLf 
  Do While IE.Busy 
    Wait 1, "Upload To " & URL 
  Loop 
   
  'Get a result of the script which has received upload 
  On Error Resume Next 
  IEPostBinaryRequest = IE.Document.body.innerHTML 
  IE.Quit 
End Function 
'Infrormations In form field header. 
Function mpFields(FieldName, FileName, ContentType) 
  Dim MPTemplate 'template For multipart header 
  MPTemplate = "Content-Disposition: form-data; name=""{field}"";" + _ 
   " filename=""{file}""" + vbCrLf + _ 
   "Content-Type: {ct}" + vbCrLf + vbCrLf 
  Dim Out 
  Out = Replace(MPTemplate, "{field}", FieldName) 
  Out = Replace(Out, "{file}", FileName) 
  mpFields = Replace(Out, "{ct}", ContentType) 
End Function 
Sub Wait(Seconds, Message) 
  On Error Resume Next 
  CreateObject("wscript.shell"
.Popup Message, Seconds, "", 64 
End Sub 
'Returns file contents As a binary data 
Function GetFile(FileName) 
  Dim Stream: Set Stream = CreateObject("ADODB.Stream"
 
  Stream.Type = 1 'Binary 
  Stream.Open 
  Stream.LoadFromFile FileName 
  GetFile = Stream.Read 
  Stream.Close 
End Function 
'Converts OLE string To multibyte string 
Function StringToMB(S) 
  Dim I, B 
  For I = 1 To Len(S) 
    B = B & ChrB(Asc(Mid(S, I, 1))) 
  Next 
  StringToMB = B 
End Function 
'******************* upload - end 
'******************* Support 
'Basic script info 
Sub InfoEcho() 
  Dim Msg 
  Msg = Msg + "Upload file using http And multipart/form-data" & vbCrLf 
  Msg = Msg + "Copyright (C) 2001 Antonin Foller, PSTRUH Software" & vbCrLf 
  Msg = Msg + "use" & vbCrLf 
  Msg = Msg + "[cscript|wscript] fupload.vbs file url [fieldname]" & vbCrLf 
  Msg = Msg + "  file ... Local file To upload" & vbCrLf 
  Msg = Msg + "  url ... URL which can accept uploaded data" & vbCrLf 
  Msg = Msg + "  fieldname ... Name of the source form field." & vbCrLf 
  Msg = Msg + vbCrLf + CheckRequirements 
  WScript.Echo Msg 
  WScript.Quit 
End Sub 
'Checks If all of required objects are installed 
Function CheckRequirements() 
  Dim Msg 
  Msg = "This script requires some objects installed To run properly." & vbCrLf 
  Msg = Msg & CheckOneObject("ADODB.Recordset"
 
  Msg = Msg & CheckOneObject("ADODB.Stream"
 
  Msg = Msg & CheckOneObject("InternetExplorer.Application"
 
  CheckRequirements = Msg 
'  MsgBox Msg 
End Function 
'Checks If the one object is installed. 
Function CheckOneObject(oClass) 
  Dim Msg 
  On Error Resume Next 
  CreateObject oClass 
  If Err = 0 Then Msg = "OK" Else Msg = "Error:" & Err.Description 
  CheckOneObject = oClass & " - " & Msg & vbCrLf 
End Function 
Запустил upload.vbs, вижу Message: 
Microsoft (R) Windows Script Host Version 5.6 
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. 
Upload file using http And multipart/form-data 
Copyright (C) 2001 Antonin Foller, PSTRUH Software 
use 
[cscript|wscript] fupload.vbs file url [fieldname] 
  file ... Local file To upload 
  url ... URL which can accept uploaded data 
  fieldname ... Name of the source form field. 
This script requires some objects installed To run properly. 
ADODB.Recordset - OK 
ADODB.Stream - OK 
InternetExplorer.Application - OK 
Подставил аргументы - CGI скрипт принял Upload! 
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа:
 popovius
![]()
![]()
ICQ: 225692610 
Вопросов: 9
Ответов: 15
      
 Web-сайт:  
 Профиль |  | #12
      
Добавлено:  02.08.05 00:21
       
    
       
  
ой какой тебе фигни насоветовали, юзай готовый скрипт http://dwindex.com/?fileid=211