ปัญหาการอัพโหลดไฟล์รูปแล้วแสดงภาพ

สวัสดีค่ะอาจารย์

หนูเขียนโปรแกรมหน้าอัพโหลดรูปภาพ เมื่ออัพเสร็จแล้วก็แสดงภาพนั้นขี้นมาแสดงให้ผู้ใช้ดู

ถ้าหากว่าหนูอัพโหลดรูปขึ้นไปโดยไม่ได้เปลี่ยนชื่อไฟล์ รูปที่แสดงขึ้นมาก็จะตรงกับรูปที่เราอัพขึ้นล่าสุด



แต่หนูต้องการเปลี่ยนชื่อไฟล์ที่เก็บไว้ในเซิฟเวอร์ 

การเปลี่ยนชื่อไฟล์สามารถทำได้ แต่รูปที่แสดงในหน้าจอเมื่ออัพโหลดรูปเสร็จแล้ว กับรูปที่เราอัพขึ้นล่าสุดเป็นรูปที่ไม่ตรงกัน

ในหน้าจอเป็นรูปเดิมที่เคยอัพไว้ รูปในเซิฟเวอร์เป็นรูปที่เราต้องการอัพขึ้นไปล่าสุด



ปัญหานี้เกิดมาจากอะไรค่ะ



11 พ.ค. 2554 3 2,265

ไม่ค่อยเข้าใจคำถามนะครับ...



ปัญหาคือ ชื่อไฟล์ไม่ตรงกันหรือยังไงครับ โดยปกติแล้ว เมื่ออัปโหลดแล้วหากต้องการ preview ทันที ก็ต้องส่งชื่อไฟล์ที่อัปโหลดกลับมา เพื่อแสดงผล ซึ่งถ้าทำแบบนี้แล้วก็ไม่น่ามีปัญหานะครับ



แต่หากเป็นการเปลี่ยนรูปภาพ เช่นมีรูปภาพแสดงอยู่แล้ว และต้องการเปลี่ยนรูปภาพ แต่ภาพที่ต้องการไม่เปลี่ยน (อัปโหลดไฟล์โดยใช้ชื่อไฟล์เดิมที่เคยอัปโหลดไปแล้ว) อาจมีปัญหาจาก cache ก็ได้ครับ การแก้ปัญหาในกรณีนี้คือ ใส่ ตัวเลขสุ่มกลับมากับชื่อไฟล์ เพื่อบังคับให้ Browser โหลดไฟล์ใหม่ครับ เช่น รูปเดิมคือ http.www.xxx.com/image.jpg หากมีการอัปโหลดโดยใช้ชื่อเดิม รูปใหม่ควรเป็น http://www.xxx.com/image.jpg?123456 ซึ่งเราจะอัปโหลดเป็นชื่อ image.jpg เหมือนเดิมครับ ตัวเลขที่ต่ท้าย เป็นการบังให้บราวเซอร์โหลดไฟล์ใหม่เท่านั้นครับ 



ปล. ตัวเลขอาจได้จากการสุ่ม หรือ จากเวลาก็ได้ครับ ซึ่งใจความสำคัญก็คือ มันต้องไม่ซ้ำกันในแต่ละครั้งเท่านั้นครับ
#1

แต่หนูเขียนโปรแกรมเป็น AJAX ค่ะ 

อาจารย์ช่วยแนะนำหน่อยนะค่ะ
#2

จะ Ajax หรือไม่ก็สาเหตุเดียวกันครับ....



ถ้าปัญหาเกิดจาก cache ก็ให้ใช้ตัวเลขต่อท้ายไฟล์ไป ตามคำตอบด้านบน



#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^