<p dir="auto"><strong>Context:</strong></p>
<ul dir="auto">
<li>Playwright Version: [1.30.0]</li>
<li>Operating System: [e.g. Windows]</li>
<li>Node.js version: [e.g. 12.22, 14.6]</li>
<li>Browser: [Chromium]</li>
<li>Extra: [electron test]</li>
</ul>


<p dir="auto"><strong>Code Snippet</strong></p>
<p dir="auto">Help us help you! Put down a short code snippet that illustrates your bug and<br>
that we can run and debug locally. For example:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const fileChooserPromise = window.waitForEvent('filechooser');
await window.getByText('click to select file').click();
const fileChooser = await fileChooserPromise;
await fileChooser.setFiles(`./devices.xlsx`);"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">fileChooserPromise</span> <span class="pl-c1">=</span> <span class="pl-smi">window</span><span class="pl-kos">.</span><span class="pl-en">waitForEvent</span><span class="pl-kos">(</span><span class="pl-s">'filechooser'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">await</span> <span class="pl-smi">window</span><span class="pl-kos">.</span><span class="pl-en">getByText</span><span class="pl-kos">(</span><span class="pl-s">'click to select file'</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">click</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">fileChooser</span> <span class="pl-c1">=</span> <span class="pl-k">await</span> <span class="pl-s1">fileChooserPromise</span><span class="pl-kos">;</span>
<span class="pl-k">await</span> <span class="pl-s1">fileChooser</span><span class="pl-kos">.</span><span class="pl-en">setFiles</span><span class="pl-kos">(</span><span class="pl-s">`./devices.xlsx`</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto"><strong>Describe the bug</strong><br>
If file is too large(more than 50M), it will choose large files mode ,the browser will get the file object containing path, such as {name: "devices. xlsx", row: {name: "devices. xlsx", path: "xxxx/devices. xlsx"...}...},else the browser will get the file object with the path properties is empty, such as {name: "devices. xlsx", row: {name: "devices. xlsx", path: ""...}...}</p>
<p dir="auto">My application uses the q-file feature of the quasar framework.<a href="https://quasar.dev/vue-components/file-picker#qfile-api" rel="nofollow">here</a> is the q-file link. When a file is uploaded, it gets the path parameter of the file in the files object array to find the local address where the file is located.<br>
This is the file object printed in Developer tools after I uploaded the file manually, you can see the properties 'path' is not empty<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/92558550/143387942-2d76574f-a011-41ef-962c-1a7a4b7d674a.jpg"><img src="https://user-images.githubusercontent.com/92558550/143387942-2d76574f-a011-41ef-962c-1a7a4b7d674a.jpg" alt="hand" style="max-width: 100%;"></a><br>
I uploaded the file using setInputFiles() and 'path' is empty.<br>
<code class="notranslate">await window.locator('input[type="file"]').setInputFiles(path.resolve(__dirname, '../cypress/fixtures/samples/GoneNutty.avi'))</code><br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/92558550/143388617-f120a9fa-8084-4eef-8aa9-faab6d85b272.jpg"><img src="https://user-images.githubusercontent.com/92558550/143388617-f120a9fa-8084-4eef-8aa9-faab6d85b272.jpg" alt="1637820410(1)" style="max-width: 100%;"></a><br>
I know setInputFiles() has only 3parameters,can I still use other methods to achieve passing 'path',if you see my problem I hope you can help me,thanks a lot.</p>