Sapui5 如何下载本地上传的文件
我正在浏览上传收藏的样本: 在这里,我尝试上载一个PDF文件,该文件已上载并显示为: 选择下载时,启用并看到下载代码如下:Sapui5 如何下载本地上传的文件,sapui5,Sapui5,我正在浏览上传收藏的样本: 在这里,我尝试上载一个PDF文件,该文件已上载并显示为: 选择下载时,启用并看到下载代码如下: onDownloadItem: function() { var oUploadCollection = this.byId("UploadCollection"); var aSelectedItems = oUploadCollection.getSelectedItems(); if (aSe
onDownloadItem: function() {
var oUploadCollection = this.byId("UploadCollection");
var aSelectedItems = oUploadCollection.getSelectedItems();
if (aSelectedItems) {
for (var i = 0; i < aSelectedItems.length; i++) {
oUploadCollection.downloadItem(aSelectedItems[i], true);
}
} else {
MessageToast.show("Select an item to download");
}
},
但当上传一个新文件时,这些文件在代码中都是空的:
"documentId": jQuery.now().toString(), // generate Id,
"fileName": sUploadedFile,
"mimeType": "",
"thumbnailUrl": "",
"url": "".......
我不知道如何下载本地上传的文件,非常感谢任何指导链接…TIA
+1问-->上传文件保存到数据库的一般情况如何
我浏览了文档,但找不到任何解决方案,但阅读并找到了一个类似的文档可供下载,但运气不佳:
sap.ui.core.util.File.save();
按下链接时,使用文件读取器获取base64
var file = event.getSource().getParent().getFileObject();
var reader = new FileReader();
// call for file content
reader.readAsDataURL(file);
reader.onload = function (e) {
var base64 = e.target.result;
}
然后从base64创建一个Blob,并将其作为iFrame打开:
var blobUrl = URL.createObjectURL(blob);
var myWindow = window.open("");
myWindow.document.write("<iframe width='100%' height='100%' src='" + blobUrl + "'></iframe>");
myWindow.document.close();
var blobUrl=URL.createObjectURL(blob);
var myWindow=window.open(“”);
myWindow.document.write(“”);
myWindow.document.close();
但是,如果您不想在新窗口中打开它,您可以在获得文件内容后立即下载。SAP的测试应用程序是假的。上传不起作用。检查F12>网络。在一个有真正后端的真正应用程序中,它会工作。@Marc我们怎么知道文件被上传了?如果是这样的话,这个数据
var oData=this.byId(“UploadCollection”).getModel(“”.getData()
足够发布吗?你需要一个后端,将上传内容存储在某个地方。@Marc哦,我明白了,你能推荐任何能引导我完成此操作的链接吗?是的。接收post请求并存储传入数据流的端点。嘿@Petr Becka i在上载时被卡住了。。。。。。。。如果你有空的话,能帮我一下吗:)
var blobUrl = URL.createObjectURL(blob);
var myWindow = window.open("");
myWindow.document.write("<iframe width='100%' height='100%' src='" + blobUrl + "'></iframe>");
myWindow.document.close();