HTML5 Загрузка файлов по каталогу, ошибка для пользователей Mac, у которых есть .DS_Store - PullRequest
0 голосов
/ 21 января 2019

, поэтому я пытаюсь разрешить пользователю загружать файл по каталогу, поскольку может быть более 300 файлов, которые ему нужно загрузить.Я использую колбу и Python, а также HTML5.В настоящее время мое решение выглядит примерно так:

    <form id="upload-form" action="{{ url_for('upload') }}" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" webkitdirectory mozdirectory>
        <input type="submit" value="send">

после того, как оно было отправлено для обработки с помощью колбы:

@app.route("/upload", methods=['POST'])
def upload():

    target = os.path.join(APP_ROOT, 'images/')

    if not os.path.isdir(target):
        os.mkdir(target)

    #request.files.getlist(files)
    for file in request.files.getlist("file"):
        print(file)
        filename = file.filename
        destination = "/".join([target, filename])
        print(destination)
        file.save(destination)

    return "complete.html"

Моя проблема в том, что когда пользователь Mac выбирает каталог, в котором он находитсянепреднамеренный эффект добавления скрытого файла .DS_Store.это вызывает ошибку

IOError: [Errno 2] Нет такого файла или каталога: u '/ Users / repos / program / images / Folder / .DS_Store'

Кроме того, идентификатор не позволяет пользователю видеть, что он отправляет 3 файла вместо 2 из-за загрузки скрытого файла.

...