SAPUI5 Fileuploader上传,如果通过setValue设置了要上传的文件,则不会触发

问题描述 投票:0回答:1

在SAPUI5中,我正在使用fileuploader将文件上传到网关服务。

[如果我通过按“浏览”按钮选择文件,则功能正常,但是如果我使用setValue()设置文件路径,然后调用upload()功能,则不会触发文件上传。浏览器中没有错误。

如果我按上载按钮,但没有设置文件路径,这是相同的行为。我怀疑还有其他需要设置的内容,但我不知道那是什么。下面是代码

UI

<u:FileUploader id="fileUploader" 
                tooltip="Select file to upload" 
                width="415px" 
                icon="sap-icon://add-document"
                uploadOnChange="false" 
                sendXHR="true" 
                uploadUrl="/sap/opu/odata/sap/ZUPLOAD_DOC_SRV/Upload_DocSet" 
                useMultipart="false"
                uploadStart="onUploadStart" 
                uploadComplete="handleUploadComplete" 
                sameFilenameAllowed="true" 
                change="onChange"/>

控制器

var oFileUploader = this.byId("fileUploader");
oFileUploader.removeAllHeaderParameters(oCustomerHeaderToken);
oFileUploader.setValue("C:\\TEMP\\test.txt");           

oCustomerHeaderToken = new sap.ui.unified.FileUploaderParameter({
    name: "x-csrf-token",
    value: oFileUploader.getModel().getSecurityToken()
});

oFileUploader.addHeaderParameter(oCustomerHeaderToken);
var oSlug = new sap.ui.unified.FileUploaderParameter({
        name: "slug",
        value: slugTemp
    });


oFileUploader.addHeaderParameter(oSlug);
oFileUploader.upload();

有人可以帮我吗?

file-upload sapui5
1个回答
0
投票

出于安全原因,浏览器在JavaScript中不允许这样做。这与UI5无关,它是一种常规的安全措施。

如果允许,脚本可以通过生成随机路径访问您的所有文件,读取它们并将其上传到任何服务器。

在某些浏览器中可以access a sandboxed environment,但这不太可能对您有帮助。

目前无法访问完整的硬盘驱动器。

© www.soinside.com 2019 - 2024. All rights reserved.