I Created a form using uicomponent .
In Dynamicrows i have two element fileuploader And Simple textbox.
<dynamicRows ... >
<field name="path">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">string</item>
<item name="source" xsi:type="string">path</item>
<item name="dataScope" xsi:type="string">path</item>
<item name="label" xsi:type="string" translate="true">Document</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="formElement" xsi:type="string">fileUploader</item>
<item name="elementTmpl" xsi:type="string">ui/form/element/uploader/uploader</item>
<item name="previewTmpl" xsi:type="string">MyModule/file-preview</item>
<item name="prefixName" xsi:type="string">option.order</item>
<item name="prefixElementName" xsi:type="string">option_</item>
<!--<item name="required" xsi:type="boolean">false</item>-->
<item name="uploaderConfig" xsi:type="array">
<item name="url" xsi:type="url" path="module/controller/action/field/path"/>
</item>
</item>
</argument>
</field>
<field name="title">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">text</item>
<item name="label" xsi:type="string" translate="true">Document Title</item>
<item name="formElement" xsi:type="string">input</item>
<item name="source" xsi:type="string">title</item>
<item name="sortOrder" xsi:type="number">10</item>
<!--<item name="prefixElementName" xsi:type="string">txt_</item>-->
<item name="dataScope" xsi:type="string">name</item>
<item name="notice" xsi:type="string" translate="true">Enter Document Title</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
</argument>
</field>
</dynamicRows>
Now When DynamicRows Are generating Fileupload Is Not Working .. i dont know what to pass in
<item name="uploaderConfig" xsi:type="array">
<item name="url" xsi:type="url" path="module/controller/action/field/{HERE}"/>
</item>
File upload is working fine when fileuploader field is not generated using <dynamicrows>
In Working condition of fileuploading resoponse in controller is
post response in this is name="test"
Array
(
[test] => Array
(
[name] => Modules.odt
[type] => application/vnd.oasis.opendocument.text
[tmp_name] => /tmp/phpNeTkpQ
[error] => 0
[size] => 16705
)
)
and using dynamicrows response is
post response in this is name="formname[0][test]"
Array
(
[docattchment] => Array
(
[name] => Array
(
[0] => Array
(
[path] => Modules.odt
)
)
[type] => Array
(
[0] => Array
(
[path] => application/vnd.oasis.opendocument.text
)
)
[tmp_name] => Array
(
[0] => Array
(
[path] => /tmp/phpX8il5D
)
)
[error] => Array
(
[0] => Array
(
[path] => 0
)
)
[size] => Array
(
[0] => Array
(
[path] => 16705
)
)
)
)
Best Answer
Uploader requires array of the values name, type, tmp_name, error, size. So when we are using uploader in dynamic rows, we need to provide array of above values to uploader object. Try below