【发布时间】:2016-04-25 09:47:43
【问题描述】:
我的代码需要一些帮助。 在我的网站中,我无法弄清楚如何解决问题。 我通过 JavaScript 解释代码创建了一个链接,可让您下载静态文件夹请求的文档。 这样做。
@ App.route ( '/ static / document / <path: name>', methods = [ 'POST'])
def downloads (name): #name is the name of the document
return os.remove (name)
然后文件我拿了,但是文件没有被删除。 这是下载此文件的 javascript 代码。
downloadlink var = document.createElement ( "a");
d = obj.d; # D is download method before
downloadlink.href = d;
downloadlink.className = "DOWNLOAD_LINK";
downloadlink.download = n;
downloadlink.onClick = setTimeout (function () {location.reload (true);}, 30000);
downloadlink.innerHTML = "<p> Download document" + n + "</ p>";
document.getElementById ( "results"). appendChild (downloadlink);
我哪里错了?
【问题讨论】:
-
你确定你的
name是一个正确的路径,无论是相对于python脚本还是绝对路径?使用绝对路径更容易。在您的应用程序配置中,您可以指定basedir = os.path.abspath(os.path.dirname(__file__))之类的内容,然后将其用于静态文件路径,例如:STATIC_DIR = os.path.join(basedir, 'app/static')。最终在操作文件时,您会执行以下操作:os.remove(os.path.join(app.config['STATIC_DIR'], name)) -
@vrs 我也以为我犯了这个错误。所以我直接插入了 os.remove 命令(“static/document/name_file”),即便如此我还是删除了它。我以为是嵌入在 JavaScript 中的下载命令。为什么链接会这样显示:download>Download 但即便如此。我不知道该怎么做。
-
@Bigzil 将其发布为答案并接受它,以便其他有相同问题的人可以轻松找到解决方案。
标签: javascript python flask