在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();
有人可以帮我吗?
出于安全原因,浏览器在JavaScript中不允许这样做。这与UI5无关,它是一种常规的安全措施。
如果允许,脚本可以通过生成随机路径访问您的所有文件,读取它们并将其上传到任何服务器。
在某些浏览器中可以access a sandboxed environment,但这不太可能对您有帮助。
目前无法访问完整的硬盘驱动器。