Fix file downloads from notebooks container (#196)

* Fix file downloads from notebooks container

* Add downloading message
This commit is contained in:
Tanuj Mittal
2020-09-11 19:37:00 -07:00
committed by GitHub
parent 83b13de685
commit 728eeefa17
3 changed files with 42 additions and 12 deletions

View File

@@ -87,6 +87,7 @@ import { ContextualPaneBase } from "./Panes/ContextualPaneBase";
import TabsBase from "./Tabs/TabsBase";
import { CommandButtonComponentProps } from "./Controls/CommandButton/CommandButtonComponent";
import { updateUserContext, userContext } from "../UserContext";
import { stringToBlob } from "../Utils/BlobUtils";
BindingHandlersRegisterer.registerBindingHandlers();
// Hold a reference to ComponentRegisterer to prevent transpiler to ignore import
@@ -2621,9 +2622,11 @@ export default class Explorer {
throw new Error(error);
}
const clearMessage = NotificationConsoleUtils.logConsoleProgress(`Downloading ${notebookFile.path}`);
return this.notebookManager?.notebookContentClient.readFileContent(notebookFile.path).then(
(content: string) => {
const blob = new Blob([content], { type: "octet/stream" });
const blob = stringToBlob(content, "text/plain");
if (navigator.msSaveBlob) {
// for IE and Edge
navigator.msSaveBlob(blob, notebookFile.name);
@@ -2640,12 +2643,16 @@ export default class Explorer {
downloadLink.click();
downloadLink.remove();
}
clearMessage();
},
(error: any) => {
NotificationConsoleUtils.logConsoleMessage(
ConsoleDataType.Error,
`Could not download notebook ${JSON.stringify(error)}`
);
clearMessage();
}
);
}