Авторизация
Забыли логин или пароль?
(495) 755-7048
ПН-ПТ 9:00-18:00
Мы в мессенджерах

TWebModule - аплоад файла на сервер

В интернете много ресурсов, посвящённых этому вопросу, но на бОльшей части из них приведён один и тот же неработающий (устаревший или корявый) под «x64» код. Мой вариант работает стопудово, если верить работоспособности этого сайта ))).

В HTML для браузера пишем аналогичный этому код:

 





 

В моём случае нужно грузить именно *.jpeg файлы, поэтому параметр ACCEPT имеет значение IMAGE/JPEG. Под вашу задачу меняйте это значение на вам необходимое. Параметр ACTION формы также указываем на вам удобный, это зависит от того, какой ACTION вы укажете в обработчике вашего webmodule

Ниже приведён код на стороне сервера:

uses ReqMulti; {стандартный модуль из дистрибутива Delphi XE4, может и в других версиях Дельфей есть ))) }

...

procedure TWebModule1.WebModule1Actions8Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
i:integer;
a:TAbstractWebRequestFile;
f:TFileStream;
fn:AnsiString;
begin
for i := 0 to request.Files.Count-1 do
{0 - первый файл, Count-1 - последний}
begin
a:=Request.Files.Items[i];
fn:=a.FileName;
while pos('"',fn)>0 do delete(fn,pos('"',fn),1);
{браузер передаёт имя файла в кавычках, что приводит к ошибке создания файла, удаляем их}
f:=TFileStream.Create(fn,fmCreate); {создаём файл}
a.Stream.Position:=0;
f.CopyFrom(a.Stream,a.Stream.Size); 
{пишем файл}
f.Free;
end;
a.Free;
end;

11.12.2018
Появилась прошивка на принтер Xerox Phaser 3330, WC 3335 и WC 3345
© 2012-2017 дизайн и вёрстка pivbul
никакие права не защищены и ничьи права не соблюдаются
аренда дубликата сайта
Время подготовки страницы: 0.015 сек
Яндекс.Метрика Top.Mail.Ru