Страница: 1 |
Вопрос: UpLoad на VBScript | Добавлено: 13.02.04 05:31 |
Автор вопроса: ![]() ![]() |
Как сделать на VBScript'е скрипт для онлайновой загрузки файлов на сайт. Если можно, то пример приведите. |
Ответы | Всего ответов: 12 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ICQ: 220401330 Вопросов: 47 Ответов: 406 |
Профиль | Цитата | #1 | Добавлено: 13.02.04 11:14 |
На VBScript есть или нет, не скажу А вот на PHP у меня есть скрипт, если надо могк кинуть |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 326066673 Вопросов: 368 Ответов: 5968 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 13.02.04 11:25 |
Для загрузки файлов на сервер клиентскими скриптами не обойтись. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 13.02.04 22:08 |
Не совсем верно. Если есть FSO, можно с помощью его прочитать файл, поставить его содержимое значением какого-нибудь хиддена в форме, потом отправить форму постом и поймать его скриптом на сервере... Ой. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик 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 |
![]() только клиентскими скриптами? |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 201502381 Вопросов: 15 Ответов: 737 |
Профиль | Цитата | #6 | Добавлено: 14.02.04 10:32 |
ИМХО, если хост узнает об этом - они лишат тебя домена. А вообще я думаю, здесь не обойтись без какого-нть ASP, PHP... |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ICQ: 278444762 Вопросов: 71 Ответов: 179 |
Профиль | Цитата | #7 | Добавлено: 17.03.04 20:41 |
Слышь, Alex с чего ты взял что если хост об этом прознает то лишит его домена, а?![]() |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 17.03.04 21:38 |
Почему это нельзя загружать на хостера свои файлы? Кто это запрещал? 2Павел: я же написал "ой" |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 201502381 Вопросов: 15 Ответов: 737 |
Профиль | Цитата | #9 | Добавлено: 18.03.04 17:10 |
Обычно бесплатные хостинги домен дают для домашнего сайта или для чего-нть в этом роде... Но какой хостинг смирится с тем, что ты сам будешь раздавать место под странички другим юзерам? Я не имею ввиду, что кто-то тебе запретит сделать возможность файлы загружать, если сервер позволяет... |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ICQ: 278444762 Вопросов: 71 Ответов: 179 |
Профиль | Цитата | #10 | Добавлено: 20.03.04 16:22 |
Слышь CyRax если хочешь сделать бесплатный хостинг то используй Microsoft Personal Web Server. |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 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" ![]() 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" ![]() Pre = RS("b" ![]() RS("b" ![]() 'Convert Po string value To a binary data LenData = Len(Po) RS("b" ![]() Po = RS("b" ![]() RS("b" ![]() 'Join Pre + FileContents + Po binary data RS("b" ![]() RS("b" ![]() RS("b" ![]() 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" ![]() 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 Автор ответа: ![]() ![]() ![]() ICQ: 225692610 Вопросов: 9 Ответов: 15 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 02.08.05 00:21 |
ой какой тебе фигни насоветовали, юзай готовый скрипт http://dwindex.com/?fileid=211 |
Страница: 1 |
|