Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: UpLoad на VBScript Добавлено: 13.02.04 05:31  

Автор вопроса:  CyRax  | Web-сайт: basicproduction.nm.ru | ICQ: 204447456 

Как сделать на VBScript'е скрипт для онлайновой загрузки файлов на сайт.

Если можно, то пример приведите.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 ZeroX



ICQ: 220401330 

Вопросов: 47
Ответов: 406
 Профиль | | #1 Добавлено: 13.02.04 11:14

На VBScript есть или нет, не скажу

А вот на PHP у меня есть скрипт, если надо могк кинуть

Ответить

Номер ответа: 2
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 13.02.04 11:25
Для загрузки файлов на сервер клиентскими скриптами не обойтись.

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 13.02.04 22:08

Не совсем верно. Если есть FSO, можно с помощью его прочитать файл, поставить его содержимое значением какого-нибудь хиддена в форме, потом отправить форму постом и поймать его скриптом на сервере... Ой.

Ответить

Номер ответа: 4
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #4
Добавлено: 14.02.04 02:12

Просто я хотел на свойм сайте организовать что то типа бесплатного хостинга в моём домене.

Например я создаю пользователю папку у МойДомен\Папка, даю пользователю пароль и он в соответствии с этим паролем может загрузить файлы тольок в СВОЮ папку через Веб браузер. Для это нужно обработать его пароль. Если пароль сходится отправить на сервак свой пароль. Конечно такой код очень слаб в плане защиты, но и защищать то в принципе нечего.

---

Наверное это не реально. Зато идея была хорошая

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #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-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 17.03.04 21:38

Почему это нельзя загружать на хостера свои файлы? Кто это запрещал?

2Павел: я же написал "ой" :)

Ответить

Номер ответа: 9
Автор ответа:
 shuffle



Администратор

ICQ: 201502381 

Вопросов: 15
Ответов: 737
 Профиль | | #9 Добавлено: 18.03.04 17:10
Обычно бесплатные хостинги домен дают для домашнего сайта или для
чего-нть в этом роде... Но какой хостинг смирится с тем, что ты сам
будешь раздавать место под странички другим юзерам? Я не имею ввиду,
что кто-то тебе запретит сделать возможность файлы загружать, если
сервер позволяет...

Ответить

Номер ответа: 10
Автор ответа:
 Yeputons



ICQ: 278444762 

Вопросов: 71
Ответов: 179
 Профиль | | #10 Добавлено: 20.03.04 16:22

Слышь CyRax если хочешь сделать бесплатный хостинг то используй Microsoft Personal Web Server. Для загрузки жми сюда. Если хочешь узнать как сделать UpLoad а ASP то жми сюда.

Ответить

Номер ответа: 11
Автор ответа:
 urij



Вопросов: 1
Ответов: 8
 Web-сайт: canegor.campus.net.ru/gui_for_script/index.html
 Профиль | | #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-сайт: dwindex.com
 Профиль | | #12
Добавлено: 02.08.05 00:21
ой какой тебе фигни насоветовали, юзай готовый скрипт http://dwindex.com/?fileid=211

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам