6

据我从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

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

4

1 回答 1

2

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

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

$old = $self->file unless defined $old;
于 2011-10-04T12:19:21.863 回答