Насколько я могу прочитать из Документация WWW::Mechanize, вы можете сделать следующее, чтобы отправить файл из строки:
$mech->submit_form(
fields => {
'UploadedFile' => [[ undef, 'test2.txt', Content => $content ], 1],
}
);
Это должно отправить файл с именем text2.txt
, содержащий текст в $content
(в данном случае, 'The file is a lie.'
).
Однако запрос не удался из-за внутренней ошибки сервера, поэтому я просмотрел отправленный запрос и обнаружил следующее:
--xYzZY
Content-Disposition: form-data; name="UploadedFile"; filename="ARRAY(0x9567570)"
The file is a lie.
--xYzZY
Это явно не то имя файла, которое я указал, поэтому я задаюсь вопросом: я делаю что-то не так или модуль глючит?
filename="ARRAY(0x1f124d8)"
, сбросив$mech->res
(WWW::Mechanize
1.66 ). - person Marco De Lellis   schedule 02.10.2011with_fields
дал тот же результат, что иfields
. - person Sebastian Paaske Tørholm   schedule 03.10.2011fields => {'UploadedFile' => [ undef, 'test2.txt', Content => $content ], upload_field => 1 }
, где upload_field — это имя поля отправки формы? - person Oesor   schedule 03.10.2011upload_field
? - person Sebastian Paaske Tørholm   schedule 04.10.2011