การใช้ HTML ดิบเมื่อฉันโพสต์ไฟล์ไปยังเซิร์ฟเวอร์ flask โดยใช้สิ่งต่อไปนี้ฉันสามารถเข้าถึงไฟล์จากคำขอ flask global:
<form id="uploadForm" action='upload_file' role="form" method="post" enctype=multipart/form-data>
<input type="file" id="file" name="file">
<input type=submit value=Upload>
</form>
ในขวด:
def post(self):
if 'file' in request.files:
....
เมื่อฉันพยายามทำเช่นเดียวกันกับ Axios คำขอ flask global ว่างเปล่า:
<form id="uploadForm" enctype="multipart/form-data" v-on:change="uploadFile">
<input type="file" id="file" name="file">
</form>
uploadFile: function (event) {
const file = event.target.files[0]
axios.post('upload_file', file, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
ถ้าฉันใช้ฟังก์ชัน uploadFile เดียวกันด้านบน แต่ลบส่วนหัว json ออกจากเมธอด axios.post ฉันจะได้รับคีย์ฟอร์มของอ็อบเจ็กต์คำขอขวดของฉันรายการ csv ของค่าสตริง (ไฟล์คือ. csv)
ฉันจะรับออบเจ็กต์ไฟล์ที่ส่งผ่าน axios ได้อย่างไร
@Niklesh ใช่การตัดและวางพิมพ์ผิดฉันแก้ไขด้านบนรวมถึงเครื่องหมายคำพูดคู่ในรหัส
—
Don Smythe
คุณได้ลอง
—
Niklesh Raut
v-on:change="uploadFile"
ใช้input
แทนform
แท็กหรือไม่?
@Niklesh ฉันได้ผลลัพธ์เดียวกัน - ข้อมูลที่ส่งเป็นสตริงและรับโดย request.form ไม่ใช่ request.files ในขวด
—
Don Smythe