据我可以从WWW::Mechanize documentation读取,您可以执行以下操作从字符串提交文件:
$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
这显然不是我指定的文件名,所以我想知道:我做错了什么,或模块是否有错误?
答案 0 :(得分:2)
这是HTML :: Form中的错误。我已经向作者报告了。
同时,如果您有HTML :: Form版本6.00,您可以通过在HTML / Form.pm中注释掉第1442行来暂时解决问题
$old = $self->file unless defined $old;