mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-03 13:58:55 +08:00
This commit is contained in:
committed by
Alexander Makarov
parent
b5be47321b
commit
3221ab0769
@ -4,6 +4,7 @@ Yii Framework 2 Change Log
|
||||
2.0.16 under development
|
||||
------------------------
|
||||
|
||||
- Bug #15683: Fixed file as array uploading in MultipartFormDataParser (Groonya)
|
||||
- Bug #16822: Create config dir recursively in message/config (Groonya)
|
||||
- Bug #16580: Delete unused php message files in MessageController if `$removeUnused` option is on (Groonya)
|
||||
- Bug #16022: Fix UniqueValidator for PostgreSQL. Checks the uniqueness of keys in `jsonb` field (lav45)
|
||||
|
||||
@ -320,7 +320,8 @@ class MultipartFormDataParser extends BaseObject implements RequestParserInterfa
|
||||
$namePart = trim($namePart, ']');
|
||||
if ($namePart === '') {
|
||||
$current[] = [];
|
||||
$lastKey = array_pop(array_keys($current));
|
||||
$keys = array_keys($current);
|
||||
$lastKey = array_pop($keys);
|
||||
$current = &$current[$lastKey];
|
||||
} else {
|
||||
if (!isset($current[$namePart])) {
|
||||
|
||||
@ -129,6 +129,23 @@ class MultipartFormDataParserTest extends TestCase
|
||||
$this->assertEquals(UPLOAD_ERR_INI_SIZE, $_FILES['thirdFile']['error']);
|
||||
}
|
||||
|
||||
public function testUploadFileAsArray(){
|
||||
$parser = new MultipartFormDataParser();
|
||||
|
||||
$boundary = '---------------------------22472926011618';
|
||||
$contentType = 'multipart/form-data; boundary=' . $boundary;
|
||||
$rawBody = "--{$boundary}\nContent-Disposition: form-data; name=\"someFile[]\"; filename=\"some-file.txt\"\nContent-Type: text/plain\r\n\r\nsome file content";
|
||||
$rawBody .= "--{$boundary}--";
|
||||
|
||||
$parser->parse($rawBody, $contentType);
|
||||
|
||||
$this->assertNotEmpty($_FILES['someFile']);
|
||||
$this->assertEquals(UPLOAD_ERR_OK, $_FILES['someFile']['error'][0]);
|
||||
$this->assertEquals('some-file.txt', $_FILES['someFile']['name'][0]);
|
||||
$this->assertEquals('text/plain', $_FILES['someFile']['type'][0]);
|
||||
$this->assertStringEqualsFile($_FILES['someFile']['tmp_name'][0], 'some file content');
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testNotEmptyPost
|
||||
* @depends testNotEmptyFiles
|
||||
|
||||
Reference in New Issue
Block a user