【发布时间】:2016-10-27 12:01:12
【问题描述】:
尝试测试一个可以上传图片并有一些隐藏字段的表单,如下所示:
<form class="add" action="https://example.com/stSPyOCwDVg" method="post" enctype="multipart/form-data">
<input type="hidden" name="tokenCode" value="U2FsdGVkX18zMTY1MjMxNuUCJfrsNa-cT0yap3xGbgrDN6RkCLpTbOm8JLusrW1vGGQxqAdYYdE">
<input type="file" name="file" multiple>
<button class="addbtn" type="submit" name="go">add image</button>
</form>
期待提交类似于非多部分表单,但事实并非如此。而是尝试如下 POST:
// load the form page
$client = new Client();
$crawler = $client->request('GET', 'https://example.com/form');
// uploading params and files as per docs
$form = $crawler->selectButton('add image')->form(); // locate the upload form by button name
$post_url = $form->getUri(); // 'action' attrib on the form
$params = $form->getValues(); // grab hidden fields
$files = ['/tmp/UL_img1', '/tmp/UL_img2', '/tmp/UL_img3'];
$crawler = $client->request('POST', $post_url, $params, $files);
echo $crawler->html();
这只是返回原始表单,没有上传任何文件。有谁知道这是否被正确调用?
【问题讨论】:
标签: php symfony multipartform-data guzzle goutte