如何下载本地上传的文件
How to Download the file which is uploaded locally
我正在查看上传的样本 Collections :
这里我尝试上传一个PDF文件,已经上传并显示为:
选择Download
启用,下载代码如下:
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" : "64469d2f-b3c4-a517-20d6-f91ebf85b9da",
"fileName" : "Screenshot.jpg",
"mimeType" : "image/jpg",
"thumbnailUrl" : "",
"url" : "test-resources/sap/m/demokit/sample/UploadCollection/LinkedDocuments/Screenshot.jpg",.....
但是当上传新的代码时,这些都是空的:
"documentId": jQuery.now().toString(), // generate Id,
"fileName": sUploadedFile,
"mimeType": "",
"thumbnailUrl": "",
"url": "".......
我不知道如何下载本地上传的文件,非常感谢任何指导链接...TIA
+1 Q --> 请问上传的文件一般是如何保存到数据库的?
我浏览了文档但找不到任何解决方案,但阅读并找到了一个类似的下载但运气不好:
sap.ui.core.util.File.save();
当按下link时,用FileReader获取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();
但是,如果您不想只在新的文件中打开它,window您可以在有文件内容后立即下载它。
我正在查看上传的样本 Collections :
这里我尝试上传一个PDF文件,已经上传并显示为:
选择Download
启用,下载代码如下:
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" : "64469d2f-b3c4-a517-20d6-f91ebf85b9da",
"fileName" : "Screenshot.jpg",
"mimeType" : "image/jpg",
"thumbnailUrl" : "",
"url" : "test-resources/sap/m/demokit/sample/UploadCollection/LinkedDocuments/Screenshot.jpg",.....
但是当上传新的代码时,这些都是空的:
"documentId": jQuery.now().toString(), // generate Id,
"fileName": sUploadedFile,
"mimeType": "",
"thumbnailUrl": "",
"url": "".......
我不知道如何下载本地上传的文件,非常感谢任何指导链接...TIA
+1 Q --> 请问上传的文件一般是如何保存到数据库的?
我浏览了文档但找不到任何解决方案,但阅读并找到了一个类似的下载但运气不好:
sap.ui.core.util.File.save();
当按下link时,用FileReader获取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();
但是,如果您不想只在新的文件中打开它,window您可以在有文件内容后立即下载它。