jquery Javascript:使用showOpenFilePicker选择照片

siotufzp  于 2023-02-12  发布在  jQuery
关注(0)|答案(1)|浏览(213)

我正在使用showOpenFilePicker访问用户选择的照片。但选择照片后,输入文件数据为空。它看起来像他没有。所以我试图手动添加用户选择的照片到输入文件元素。但仍然没有发生。我该怎么办?
网页:

<div class="col-md-3 iniTpe">
            <div class="form-group">
                <label for="researchPhoto">Example file input</label>
                <input name="researchPhoto" onclick="Research.OpenFiles(event)" type="file" accept="image/*" class="form-control-file" id="researchPhoto">
            </div>
 </div>

浏览器:

OpenFiles: async function (event) {
    event.preventDefault();
    let files = await window.showOpenFilePicker({
        types: [
            {
                description: 'İmage Files',
                accept: {
                    'image/*': ['.png', '.gif', '.jpeg', '.jpg'],
                },
            },
        ],
        excludeAcceptAllOption: true,
        multiple: false,
    });
  
    let fileData = await files[0].getFile();

 

    document.getElementById("researchPhoto").files[0] = fileData;

    console.log(document.getElementById("researchPhoto").files[0])//comes null. normally it should not be null
}
v64noz0r

v64noz0r1#

我相信在.getFile()之后你还需要一个额外的步骤。每个MDNgetFile返回一个blob。你可能想使用像.text()这样的方法来获取文件的文本,或者使用文档中提到的另一个函数,比如createBitmapImage()来将文件作为图像处理。

相关问题