【问题标题】:SAPUI5 Fileuploader upload not triggered if file to upload is set via setValue如果通过 setValue 设置要上传的文件,则不会触发 SAPUI5 Fileuploader 上传
【发布时间】:2023-03-04 20:35:01
【问题描述】:

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

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

如果我按下上传按钮,这是相同的行为,但未设置文件路径。我怀疑我需要设置一些额外的东西,但我不知道那是什么。下面是代码

用户界面

<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】:

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

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

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

    访问整个硬盘是不可能的(目前)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      相关资源
      最近更新 更多