Неверное имя файла в WWW :: Механизировать отправку - PullRequest
6 голосов
/ 02 октября 2011

Насколько я могу прочитать из 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

Это явно не то имя файла, которое я указал, поэтому мне интересно: я что-то не так делаю или модуль прослушивается?

1 Ответ

2 голосов
/ 04 октября 2011

Это ошибка в HTML :: Form. Я доложил об этом автору.

В то же время, если у вас есть HTML :: Form версии 6.00, вы можете временно исправить ситуацию, закомментировав строку 1442 в HTML / Form.pm, которая гласит

$old = $self->file unless defined $old;
...