У меня есть два набора файлов, загружаемых одновременно с помощью одной и той же функции через Ajax. Давайте назовем
1-set A
, который загружает только один файл за раз.- URL: /upload1
2 - набор B
, который включает несколько файлов на запрос.- URL: /upload2
A = {id=id , file1=file1 }
B = {id=id , file2=file2 }
Тогда у меня есть список имен набора B
, также готовый для загрузки
файлы были загружены нормально, каждый набор в отдельной функции загрузки
проблема возникает, когда я пытаюсь зафиксировать их в базе данных, потому что каждая функция ожидает 3 значения, а я только 2 даю единственный способвокруг этого было что-то вроде
class Files(db.Model):
id = db.Column(db.Integer, primary_key=True)
code = db.Column(db.String(255))
file1 = db.Column(db.String(255))
file2 = db.Column(db.String(255))
def __init__(self,id,code,file1,file2):
self.id = id
self.code = code
self.file1 = file1
self.file2 = file2
@app.route("/upload1" ,methods = ["POST"] )
def upload1():
importedFiles = request.files.to_dict();
for file in importedFiles:
file1 = importedFiles[file].filename
file2 = ""
addFiles = Files(id=id ,file1=file1 ,file2=file2 )
db.session.add(addFiles)
db.session.commit()
return '', 204
@app.route("/upload2" ,methods = ["POST"] )
def upload2():
importedFiles = request.files.to_dict();
for file in importedFiles:
file2 = importedFiles[file].filename
file1 = ""
addFiles = Files(id=id ,file1=file1 ,file2=file2 )
db.session.add(addFiles)
db.session.commit()
return '', 204
, поэтому я должен был упомянуть переменную беспорядка и дать ей значение fileX = ""
, что приведет к перезаписи друг друга каждый раз, когда любой из этихфункции выполняются.
, поэтому конечный результат должен иметь значение для file1
и file2
, как я могу это сделать без перезаписи друг друга в база данных ?
есть способ отправить оба набора файловых запросов на тот же URL-адрес и выполнить какой-то оператор if в , чтобы определить, какой именно ?- Я использовал FormData.append('file', FileData, FileName)
метод до Ajax
(это решит мою проблему, поскольку я могу хранить оба значения в двух разных переменных и фиксировать их вместе в одном коммитезапрос)