知道其Web路径将文件复制到Flask应用程序文件夹中

时间:2018-12-04 14:00:44

标签: javascript jquery ajax python-3.x flask

我使用以下命令生成了文件的Web路径:

URL.createObjectURL(event.target.files[0]);

后来,通过ajax调用,我将该链接传递给了Python(Flask)。 现在,我很好奇知道如何使用该链接将文件复制到正在开发的应用程序的文件夹中。使用Python。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

根据我的经验,我意识到最好通过特定的电话发送文件。我个人使用JavaScript获得的文件如下:

const filePdfUploaded = document.querySelector('input[id="uploadFilePdf"]');
const fileTxtUploaded = document.querySelector('input[id="uploadFileTxt"]');

const filesUploaded = new FormData();
filesUploaded.append('pdf', filePdfUploaded.files[0]);
filesUploaded.append('txt', fileTxtUploaded.files[0]);

fetch('/documents', {
   method: 'POST',
   body: filesUploaded /* posting */
});

在服务器端,Flask提供了以下内容:

@app.route('/documents', methods= ['POST'])
def addUploadedFiles():
    if request.method == 'POST':
        request.files['pdf'].save(os.path.join(app.instance_path[:-9],   #this
                                               'static',                 #concerns
                                               'data',                   #the destination
                                               'documentazione Tot Pdf', #path
                                               secure_filename(request.files['pdf'].filename)))

        request.files['txt'].save(os.path.join(app.instance_path[:-9],   #this 
                                               'static',                 #concerns
                                               'data',                   #the destination
                                               'documentazione txt',     #path 
                                               secure_filename(request.files['txt'].filename)))
        return ''

通过这种方式可以接收文件并将其保存在当前项目的文件夹中。

希望我能对您有所帮助。