คือ ว่า ผมไม่เข้าใจวิธีการอัพโหลดไฟล์จาก html อ่ะครับ ถ้าผมมีโค้ดอัพไฟล์ ของ html แบบนี้อ่าครับ
File:
คำถาม
-ผมจะเพิ่มโค้ดhtmlตรงไหน เพราะมันยังไม่สมบูรณ์ คือปุ่มuploadมันอัพไม่ได้เพราะยังไม่มีแอคชั่นอ่าครับ
-เราจะเขียนโค้ดในdjango ของเรายังไงครับ(model,view)
ถ้ามาเป็นโค้ดเลยก้ได้ครับ ขอบคุณมากๆสำหรับคนที่ตอบครับ
html
body
File: input type="file" name="filename"
input type="submit" value="Upload"
/form
/body
/html
คือโค้ดhtmlมันแสดงไม่ได้อ่ะครับ ประมาณเนี่ย
view เขียนประมาณนี้ครับ
http://docs.djangoproject.com/en/1.2/topics/http/file-uploads/
html ประมาณนี้ครับ
http://docs.djangoproject.com/en/1.2/ref/forms/api/#binding-uploaded-files
Django v1.2 ผมยังไม่ได้ลองเขียนนะครับ
ขอบคุณมากครับ
ขอภาษาไทยได้ไหมครับ ผมก็ทำไม่ได้อยู่ดี อธิบายคร่าวๆก็ได้ครับ
ความสามารถ อังกฤษผมก็อ่อนแอเหมือนกัน เพียงแต่อ่านเจอมา เลยบอกต่อ
ขึ้นอยู่กับความสามารถท่านแล้วหละ
model
ไม่ได้ใช้
templete
คุณต้องรู้การทำงาน กับ Form ก่อนนะครับ
http://docs.djangoproject.com/en/1.2/topics/forms/
การทำงานของ form ใน templete
ดูที่หัวข้อ
Looping over the form's fields
นำโค้ดในหัวข้อนั้น เขียนใน templete ของคุณ
แล้วก็เปลี่ยน ส่วนบนของโค้ดเป็น
<
form enctype="multipart/form-data" method="post" action="/upload_file/">
view
คุณ นำ code 3 ส่วนแรกไปใส่ใน view ของคุณ
http://docs.djangoproject.com/en/1.2/topics/http/file-uploads/
ในส่วนที่ 3
destination = open('some/file/name.txt', 'wb+') ตรงนี้คุณต้องกำหนดที่อยู่ของไฟล์เอง
url คงทำได้นะครับ
ทั้งหมด ผมยังไม่ได้เขียนะครับ ที่เหลือก็จัดการเองนะครับได้แค่นี้ครับ
ขอบคุณมากครับ
ในโค้ดส่วนที่ 3 destination = open('some/file/name.txt', 'wb+') ผมหาวิธีใช้ i/o ไฟล์ไม่เจออ่ะครับ พอผมเอาไปลอง แล้วอัพโหลด เหมือนกับว่ามันเป็นการเป็นการเปิดไฟล์ครับ พอเราอัพโหลดมันก็เซฟทับไฟลเดิม
พอเราอัพโหลดมันก็เซฟทับไฟลเดิม <-- ไม่เข้าใจ
ต้นทาง A.xxx ปลายทาง C.xxx
ต้นทาง B.xxx ปลายทาง C.xxx
ทับแน่ ยกเว้น ปลายทางคนละ folder
ต้นทาง A.xxx ปลายทาง A.xxx
ต้นทาง B.xxx ปลายทาง B.xxx
ไม่ทับทับแน่ ยกเว้น อัพไฟล์เดิม
ผมว่าทำการตรวจสอบไฟล์ก่อน ถ้ามีชื่อซ้ำให้ตั้งชื่อใหม่ดีกว่า
หรือไม่ก็ เก็บชื่อ ไฟล์ ไว้ในต้นทาง กับชื่อไฟล์ปลายทาง( ระบบสุ่มตั้งชื่อ) ลงใน DB
จะได้ไม่ซ้ำกัน คงนึกภาพออกนะครับ