如果通过 setValue 设置要上传的文件,则不会触发 SAPUI5 Fileuploader 上传
SAPUI5 Fileuploader upload not triggered if file to upload is set via setValue
在 SAP 中UI5 我正在使用 fileuploader 将文件上传到网关服务。
如果我通过按 "Browse" 按钮使用 select 文件,则功能有效,但是如果我使用 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();
有人可以帮我解决这个问题吗?
出于安全原因,浏览器 JavaScript 不允许这样做。这与UI5无关,是一般的安全措施。
如果允许脚本可以通过生成随机路径访问您的所有文件,读取它们并将它们上传到任何服务器。
在某些浏览器中可以 access a sandboxed environment 但这不太可能对您有所帮助。
访问整个硬盘是不可能的(目前)。
在 SAP 中UI5 我正在使用 fileuploader 将文件上传到网关服务。
如果我通过按 "Browse" 按钮使用 select 文件,则功能有效,但是如果我使用 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();
有人可以帮我解决这个问题吗?
出于安全原因,浏览器 JavaScript 不允许这样做。这与UI5无关,是一般的安全措施。
如果允许脚本可以通过生成随机路径访问您的所有文件,读取它们并将它们上传到任何服务器。
在某些浏览器中可以 access a sandboxed environment 但这不太可能对您有所帮助。
访问整个硬盘是不可能的(目前)。