WWW :: Mechanize提交时文件名不正确

Seb*_*olm 6 perl www-mechanize

至于我可以从WWW :: Mechanize文档中读取,您可以执行以下操作从字符串提交文件:

$mech->submit_form(
    fields => {
        'UploadedFile' => [[ undef, 'test2.txt', Content => $content ], 1],
    }
);
Run Code Online (Sandbox Code Playgroud)

这应该提交一个带有名称的文件text2.txt,其中包含文本$content(在本例中'The file is a lie.').

但是,请求因内部服务器错误而失败,因此我检查了发送的请求,并发现了:

--xYzZY
Content-Disposition: form-data; name="UploadedFile"; filename="ARRAY(0x9567570)"

The file is a lie.
--xYzZY
Run Code Online (Sandbox Code Playgroud)

这显然不是我指定的文件名,所以我想知道:我做错了什么,或模块是否被窃听?

Bor*_*din 2

这是 HTML::Form 中的一个错误。我已经向作者反映了。

同时,如果您有 HTML::Form 版本 6.00,您可以通过注释掉 HTML/Form.pm 中的第 1442 行来临时修复问题,该行内容为

$old = $self->file unless defined $old;
Run Code Online (Sandbox Code Playgroud)