下载使用mongodump创建的档案

约翰·富尔基努(John Fulgeanu)

我正在尝试使用mongodump命令从服务器远程下载Mongo转储(即通过浏览器)。

后端是Flask服务器,如下所示:

@api.route('/export', methods=['GET'])
def exportDb():
    subprocess.check_output(['mongodump','--archive=db.gz', '--gzip', '--db', 'my_db'])
    response = make_response(open('db.gz', 'r').read())
    response.headers["Content-Disposition"] = "attachment; filename=db.gz"
    return response

前端使用AngularJs,如下所示:

    $http({
        method: 'GET',
        url: '/intro/export'
    }).then(function(response) {
        var blob = new Blob([response.data], {type: 'application/zip, application/octet-stream'});
        var objectUrl = URL.createObjectURL(blob);
        window.open(objectUrl);
    }

存档是在服务器端正确创建的,但是我无法将其发送给客户端。发送请求后,将打开一个新选项卡,用于下载以GUID命名的文件,而不是“ db.gz”,并且该文件无法使用任何存档客户端打开,因此我在发送文件或保存它。

任何帮助将不胜感激。

约翰·富尔基努(John Fulgeanu)

所以我这样做是这样的:

@api.route('/exportDB', methods=['GET'])
def exportDB():
    subprocess.check_output(['mongodump','--archive=db.gz', '--gzip', '--db', 'my_db'])
    response = send_from_directory("path/to/folder", 'db.gz', as_attachment=True)
    response.headers["Content-Type"] = "application/javascript"
    return response

在客户端,我有:

$http({
    method: 'GET',
    url: '/intro/exportDB',
    responseType: 'blob'
}).then(function(response) {
    var data = new Blob([response.data]);
    saveAs(data, "db.gz");
 }

其中的saveAs是Filesaver.js从这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用命令“ gzip”创建档案

来自分类Dev

使用命令“ gzip”创建档案

来自分类Dev

从Artifactory下载工件档案

来自分类Dev

使用Maven从域项目创建Mule可部署档案

来自分类Dev

即使使用相同版本,Unison 也会创建不同的档案

来自分类Dev

如何使用boto3从Glacier Deep Archive本地下载档案?

来自分类Dev

使用mongodump:“ mongodump:找不到命令”

来自分类Dev

tar档案创建日期错误

来自分类Dev

使用Maven修改档案

来自分类Dev

使用Maven修改档案

来自分类Dev

使用BinData查询MongoDump

来自分类Dev

如何使用compress / gzip和archive / tar创建压缩的tar档案?

来自分类Dev

使用laravel,如何创建动态文件下载?

来自分类Dev

使用EPPlus创建后下载Excel文件

来自分类Dev

使用php创建和下载zip文件

来自分类Dev

使用php创建和下载zip文件

来自分类Dev

使用MongoDump返回特定列

来自分类Dev

使用MongoDump返回特定列

来自分类Dev

Xcode 6 GM创建档案

来自分类Dev

tar如何读取文件以创建档案?

来自分类Dev

如何防止tar创建空档案?

来自分类Dev

如何从IFormFileCollection创建档案流

来自分类Dev

LVM +无法创建临时档案名称

来自分类Dev

下载CPAN模块分发档案:I18N :: Langinfo

来自分类Dev

如何下载/搜索Apache项目的邮件列表档案?

来自分类Dev

下载档案时ffmpeg.exe位于哪里?

来自分类Dev

网络启动(PXE)Ubuntu无法通过下载档案

来自分类Dev

从目录创建档案,而目录名称未添加到档案中

来自分类Dev

Thunar-无法创建档案,找不到合适的档案管理器