คลังสื่อ
คลังสื่อเก็บรูปภาพและไฟล์ของเว็บไซต์ แต่ละเว็บไซต์มีคลังของตัวเอง ไฟล์ของเว็บไซต์อื่นจะไม่ถูกแสดงหรือจับคู่
เปิดคลังสื่อ
หัวข้อที่มีชื่อว่า “เปิดคลังสื่อ”เปิด คลังสื่อ ในแถบด้านข้างเพื่อจัดการไฟล์ เมื่อเลือกไฟล์จากส่วนอื่น คลังเดียวกันจะเปิดเป็นกล่องโต้ตอบ คลังสื่อ:
- ฟิลด์สื่อของรายการ: คลังสื่อ
- ข้อความแบบจัดรูปแบบ: แทรกรูป → คลังสื่อ หรือ อัปโหลดใหม่ เพื่ออัปโหลดลงในข้อความโดยตรง
- ช่องรูปภาพของส่วนหน้าเว็บใน ตัวสร้างหน้า
หากโหลดคลังไม่สำเร็จ ให้กด ลองอีกครั้ง โดยไม่ต้องปิดหน้าต่าง
เลือกไฟล์หนึ่งไฟล์หรือมากกว่า แล้วกด ใช้ N รายการที่เลือก ฟิลด์สื่อรับเฉพาะชนิดไฟล์ที่โมเดลอนุญาต และไม่เกินขนาดที่ฟิลด์กำหนด ดูแถว media ใน ประเภทฟิลด์
การอ่านคลังเป็นไปตามสิทธิ์อ่านสื่อ การเปลี่ยนแปลงต้องมีสิทธิ์สามอย่างแยกกัน:
| สิทธิ์ | อนุญาตให้ |
|---|---|
media:upload |
เพิ่มไฟล์: การอัปโหลด ไฟล์ที่บันทึกจากการสร้างด้วย AI ไฟล์ที่การนำเข้าหรือปลั๊กอินนำมา ไฟล์ที่คัดลอกจากแหล่งภายนอก และการอัปโหลดแบบส่วนตัว |
media:update |
เปลี่ยนสิ่งที่มีอยู่: alt text และคำอธิบาย จุดโฟกัส การโหลดและลำดับความสำคัญในการดึง การแทนที่ไฟล์ โฟลเดอร์ แท็ก และการมองเห็นแบบสาธารณะหรือส่วนตัว |
media:delete |
ลบไฟล์ ไฟล์ที่ถูกใช้อยู่ยังคงถูกปฏิเสธ |
บทบาทในตัว admin และ editor มีครบทั้งสาม บทบาท author มีเฉพาะ media:upload ผู้เขียนเพิ่มไฟล์ได้แต่เปลี่ยนหรือลบไม่ได้ บทบาท viewer ไม่มีเลย บทบาทแบบกำหนดเองมีเท่าที่ระบุไว้ใน การตั้งค่า → บทบาท เมื่อตัวควบคุมใช้ไม่ได้เพราะขาดสิทธิ์ ตัวควบคุมจะถูกปิดและบอกว่าต้องมีสิทธิ์ใด
อัปโหลดไฟล์
หัวข้อที่มีชื่อว่า “อัปโหลดไฟล์”กด อัปโหลด แล้วเลือกไฟล์ ไฟล์จะเข้าไปในโฟลเดอร์ที่แสดงอยู่ กล่องโต้ตอบแสดงขีดจำกัดขนาด ไฟล์เป็นสาธารณะ เว้นแต่คุณเลือกเก็บเป็นส่วนตัว ดู ไฟล์ส่วนตัว
ชนิดและรูปแบบไฟล์
หัวข้อที่มีชื่อว่า “ชนิดและรูปแบบไฟล์”แต่ละเว็บไซต์เลือกว่าคลังรับอะไรได้ใน การตั้งค่า → เว็บไซต์ → ไฟล์สื่อ การปิดชนิดไฟล์ไม่ลบไฟล์ที่อยู่ในคลังแล้ว
| ชนิด | รูปแบบ | ค่าเริ่มต้น |
|---|---|---|
| รูปภาพ | PNG, JPEG, WebP, AVIF, GIF, SVG | เปิดเสมอ |
| เอกสาร | PDF, Word, Excel, PowerPoint และ ODF ข้อความ สเปรดชีต งานนำเสนอ, RTF, Text, CSV | เปิด: PDF และรูปแบบ Office |
| เสียง | MP3, M4A, Ogg, WAV และ FLAC, AAC | ปิด |
| วิดีโอ | MP4, WebM และ QuickTime, Ogg video | ปิด |
| ไฟล์อื่น | ไฟล์อื่นที่ปลอดภัย | ปิด |
- โปรแกรม สคริปต์ และหน้าเว็บไม่ถูกรับเลย ไม่ว่าจะตั้งค่าอย่างไร
- รูปแบบไฟล์ตรวจจากไบต์ของไฟล์ ไม่ใช่แค่ชื่อไฟล์
- SVG เป็นรูปภาพ เลือกในฟิลด์รูปภาพ ดูตัวอย่าง และแสดงด้วย
<img>ได้โดยยังคงเป็นเวกเตอร์ รองรับรูปทรง ข้อความ ไล่สี และการอ้างอิงภายใน#idขนาดไม่เกิน 1 MiB ไม่รับสคริปต์ ตัวจัดการเหตุการณ์ สไตล์ชีต ทรัพยากรภายนอก แอนิเมชัน เอนทิตี XML หรือ XML ที่ไม่ปลอดภัย SVG เก็บใน R2 แม้ภาพราสเตอร์ใช้ Cloudflare Images โดย SVG สาธารณะต้องมีIMAGES_BUCKETและR2_PUBLIC_DOMAIN - การติดตั้งที่ไม่มีที่เก็บไฟล์สาธารณะรับได้เฉพาะรูปภาพ
ขีดจำกัดขนาด
หัวข้อที่มีชื่อว่า “ขีดจำกัดขนาด”แต่ละชนิดมีขีดจำกัดขนาดของตัวเองในการตั้งค่าเดียวกัน ทุกชนิดเริ่มต้นที่ 32 MiB
- รูปภาพ: ไม่เกิน 32 MiB
- เอกสาร เสียง วิดีโอ และไฟล์อื่นที่อัปโหลดที่นี่: เพิ่มขีดจำกัดได้ถึงขอบเขตการอัปโหลดของการติดตั้ง ขอบเขตนี้คือ 100 MB เว้นแต่ผู้ดูแลระบบระบุขีดจำกัดแผน Cloudflare ที่สูงกว่าใน
MEDIA_REQUEST_BODY_LIMIT_BYTESสูงสุด 5 GB - รูปแบบที่ต้องตรวจทั้งไฟล์ (Word, Excel, PowerPoint, ODF, Text, CSV): ไม่เกิน 32 MiB
- การนำเข้าทั่วไป ปลั๊กอิน และการอัปโหลดผ่าน API การจัดการ: ไม่เกิน 32 MiB ต่อไฟล์ การย้ายด้วยไฟล์
.deewanจะคัดลอกไฟล์เป็นส่วน ๆ โดยใช้ข้อจำกัดชนิดและขนาดไฟล์ของระบบปลายทาง สูงสุด 5 GB หากเปิดใช้ ดู การนำเข้าและย้ายข้อมูล
ไฟล์ซ้ำ
หัวข้อที่มีชื่อว่า “ไฟล์ซ้ำ”การอัปโหลดไฟล์ที่คลังมีอยู่แล้วจะไม่อัปโหลดอะไร กล่องโต้ตอบแสดง มีอยู่ในคลังแล้ว และเสนอ:
- ใช้ไฟล์ที่มีอยู่: ใช้ไฟล์ที่มีอยู่ ไฟล์นั้นยังคงคำอธิบายและแท็กของตัวเอง
- อัปโหลดเป็นสำเนาแยก: เก็บสำเนาที่สอง
ทำแบบเดียวกันกับไฟล์ซ้ำอื่นในการอัปโหลดนี้ ใช้ตัวเลือกเดียวกันกับไฟล์ซ้ำที่เหลือในการอัปโหลดนี้
ค้นหาไฟล์
หัวข้อที่มีชื่อว่า “ค้นหาไฟล์”- ค้นหาด้วยชื่อไฟล์หรือข้อความแทนภาพ ค้นหาตามชื่อไฟล์หรือข้อความแทนภาพ
- ประเภทไฟล์: ทั้งหมด, รูป, เอกสาร, เสียง หรือ วิดีโอ
- โฟลเดอร์ หรือ สื่อทั้งหมด ({count}) และ ไม่อยู่ในโฟลเดอร์
- ตัวกรองแท็ก ไม่มีแท็ก แสดงรูปภาพที่ไม่มีแท็ก
โฟลเดอร์
หัวข้อที่มีชื่อว่า “โฟลเดอร์”โฟลเดอร์ใช้จัดระเบียบคลัง ไม่เคยย้ายหรือเปลี่ยนชื่อไฟล์ที่เก็บไว้ และไม่เปลี่ยนที่อยู่ของไฟล์
- แต่ละไฟล์อยู่ในโฟลเดอร์เดียว หรืออยู่ในหมวด ไม่อยู่ในโฟลเดอร์
- โฟลเดอร์ใหม่ สร้างโฟลเดอร์ในโฟลเดอร์ที่แสดงอยู่ ซ้อนได้ไม่เกิน 5 ระดับ
- เว็บไซต์หนึ่งมีโฟลเดอร์ได้ไม่เกิน 500 โฟลเดอร์ ชื่อยาว 1 ถึง 80 ตัวอักษร และต้องไม่ซ้ำภายใต้โฟลเดอร์แม่ โดยไม่สนตัวพิมพ์เล็กใหญ่
- ตัวเลือกโฟลเดอร์ มี เปลี่ยนชื่อ, ย้ายโฟลเดอร์ไปที่ และ ลบโฟลเดอร์
- เลือกไฟล์แล้วใช้ ย้าย N รายการที่เลือกไปที่ เพื่อย้ายได้ครั้งละไม่เกิน 200 ไฟล์
- ลบโฟลเดอร์ ลบโฟลเดอร์และโฟลเดอร์ย่อยหลังยืนยันครั้งเดียว ไม่มีไฟล์ถูกลบ ไฟล์จะอยู่ในหมวด ไม่อยู่ในโฟลเดอร์
แท็กเป็นป้ายกำกับแบบแบนบนรูปภาพ แยกจากโฟลเดอร์
- เลือกรูปภาพ
- ใน แท็ก · เลือก N พิมพ์ชื่อใน เพิ่มแท็ก แล้วกด เพิ่มแท็ก เอาแท็กออกจากรูปที่เลือกด้วยปุ่มลบของแท็กนั้น
- ชื่อแท็กยาว 1 ถึง 64 ตัวอักษร และไม่ซ้ำในเว็บไซต์ โดยไม่สนตัวพิมพ์เล็กใหญ่
- จัดการแท็ก เปลี่ยนชื่อและลบแท็ก การลบแท็กไม่เคยลบรูปภาพ แท็กที่ใช้อยู่จะถามก่อนและบอกจำนวนรูปที่มีแท็กนั้น
- แท็กเห็นได้เฉพาะในหน้าผู้ดูแล ไม่มี API สาธารณะใดส่งแท็กออกไป
ข้อความแทนภาพและคำอธิบาย
หัวข้อที่มีชื่อว่า “ข้อความแทนภาพและคำอธิบาย”เลือกไฟล์แล้วกด แก้ไขที่เลือก แต่ละภาษาของเว็บไซต์มีแท็บของตัวเอง
- รูปภาพต้องมี ข้อความแทนรูป ในทุกภาษาของเว็บไซต์ ยาว 1 ถึง 125 ตัวอักษร บันทึก จะถูกปฏิเสธจนกว่าทุกภาษาจะมี: ทุกภาษาต้องมีข้อความแทนรูปภาพก่อนบันทึก แท็บที่ยังไม่มีจะแสดง ไม่มีข้อความแทนรูปภาพ
- ไฟล์อื่นมี คำอธิบาย แต่ละภาษาแบบไม่บังคับ
- เวอร์ชันของรายการเนื้อหาเก็บข้อความแทนภาพหนึ่งค่าต่อรูป โดยคัดลอกจากคลังเมื่อบันทึกรายการ ในการบันทึกปกติจะเป็นข้อความแทนภาพในภาษาเริ่มต้นของเว็บไซต์ API สาธารณะส่งค่าที่เก็บไว้นั้นเป็น
altการเปลี่ยนในคลังจะไปถึง API สาธารณะหลังจากบันทึกและเผยแพร่รายการอีกครั้ง
จัดเฟรมรูปภาพในเนื้อหา
หัวข้อที่มีชื่อว่า “จัดเฟรมรูปภาพในเนื้อหา”การจัดเฟรมกำหนดว่าส่วนใดของรูปจะแสดง โดยไม่เปลี่ยนไฟล์
- ในฟิลด์สื่อของรายการ ตั้ง จุดโฟกัส บนรูป: คลิกส่วนที่ต้องมองเห็นเสมอ แล้วกด ใช้จุดนี้
- ถ้าฟิลด์มีกฎสัดส่วนภาพ กรอบตัดจะตามรูปทรงของฟิลด์
- การจัดเฟรมเป็นของการใช้งานครั้งนั้น รูปเดียวกันในที่อื่นยังคงการจัดเฟรมของตัวเอง
- จุดโฟกัสเริ่มต้น ใน แก้ไขที่เลือก ใช้เป็นจุดเริ่มต้นของการใช้งานใหม่ การใช้งานเดิมยังคงจุดโฟกัสและกรอบตัดของตัวเอง
- จัดเฟรมได้เฉพาะรูปภาพ
วิธีที่เว็บไซต์แสดงรูปที่จัดเฟรมแล้วอยู่ใน รูปภาพบนเว็บไซต์ที่สร้างขึ้น
การโหลดรูปภาพ
หัวข้อที่มีชื่อว่า “การโหลดรูปภาพ”ใน แก้ไขที่เลือก ค่า ลำดับการโหลด เป็นคำแนะนำให้เบราว์เซอร์: สูง, ต่ำ หรือ อัตโนมัติ ส่วน การโหลด เลือก ทันที เพื่อโหลดทันที หรือ หน่วง เพื่อรอจนจำเป็น ควรใช้ลำดับ อัตโนมัติ หากรูปภาพไม่ต้องการลำดับเฉพาะ การตั้งค่าเหล่านี้ไม่เปลี่ยนไฟล์ที่เก็บไว้
แก้ไขรูปภาพ
หัวข้อที่มีชื่อว่า “แก้ไขรูปภาพ”ครอปและหมุนเป็นสำเนา
หัวข้อที่มีชื่อว่า “ครอปและหมุนเป็นสำเนา”- เลือกรูป กด แก้ไขที่เลือก แล้วกด ครอบตัดและหมุน
- หมุนด้วย หมุนซ้าย และ หมุนขวา ลากกรอบตัดหรือมุมของกรอบ บนแป้นพิมพ์ ลูกศรย้ายกรอบ Alt กับลูกศรปรับขนาด R หมุน
- กด บันทึกเป็นสำเนา หรือ Enter
สำเนาเป็นไฟล์ใหม่ที่มีขนาดและการใช้งานของตัวเอง ได้รับข้อความแทนภาพ โฟลเดอร์ และแท็กจากต้นฉบับ และแสดง แก้ไขจาก {name} ต้นฉบับและทุกที่ที่ใช้ต้นฉบับไม่เปลี่ยน ถ้าคลังมีผลลัพธ์แบบเดียวกันทุกประการอยู่แล้ว ระบบจะเลือกไฟล์นั้นแทน
แทนที่ต้นฉบับ
หัวข้อที่มีชื่อว่า “แทนที่ต้นฉบับ”การทำงานเพิ่มเติม → แทนที่ต้นฉบับ เขียนการแก้ไขทับไฟล์ต้นฉบับ
- ระบบแสดงรายการที่ใช้รูปนี้ก่อน หน้าเว็บที่เผยแพร่ของรายการเหล่านั้นจะแสดงรูปที่แก้ไขแล้ว
- ระบบนับการใช้งานในที่ที่คุณเปิดไม่ได้ด้วย
- ถ้าไฟล์ใหม่มีรูปทรงต่างไป ระบบจะบอกจำนวนรายการที่จัดเฟรมรูปนี้ด้วยกรอบตัดหรือจุดโฟกัส เพื่อให้คุณตรวจ
ไฟล์ที่ลิงก์จากแหล่งภายนอกแทนที่หรือแก้ไขไม่ได้
สคริปต์แทนที่ไฟล์ได้ด้วย POST /api/manage/v1/media/{id}/replace โดยส่ง multipart file และคีย์ idempotency รหัสไฟล์และการอ้างอิงจากเนื้อหาคงเดิม แต่ URL อาจเปลี่ยน ให้ใช้ url จากคำตอบ เวอร์ชันที่เผยแพร่และตรึงออบเจ็กต์เดิมไว้ยังเก็บไบต์เดิม ดู API การจัดการ
เปลี่ยนรูปแบบรูปภาพ
หัวข้อที่มีชื่อว่า “เปลี่ยนรูปแบบรูปภาพ”รูปแบบไฟล์ภาพ ใน แก้ไขที่เลือก แปลงรูปเป็น WebP หรือ AVIF หรือคงรูปแบบเดิมไว้ การแปลงทำในเบราว์เซอร์ของคุณ การบันทึกจะแทนที่ต้นฉบับ จึงแสดงการตรวจการใช้งานแบบเดียวกันก่อน
ไฟล์ถูกใช้ที่ไหน
หัวข้อที่มีชื่อว่า “ไฟล์ถูกใช้ที่ไหน”ก่อนแทนที่หรือลบ กล่องโต้ตอบบอกว่าไฟล์ถูกใช้ที่ไหน: ไม่มีอะไรอ้างถึงรูปนี้ หรือ ยังถูกใช้โดยการอ้างอิงในเนื้อหา N รายการ: …
- การใช้งานในเนื้อหาที่คุณอ่านไม่ได้จะถูกนับ แต่ไม่บอกชื่อ
- เวอร์ชันเก่าที่รายการยังเก็บไว้ก็นับเป็นการใช้งาน ดู เก็บเวอร์ชันไว้กี่เวอร์ชัน
กด ลบรูป (หรือ ลบไฟล์) บนไฟล์
- การลบต้องมี
media:deleteการลบไฟล์ส่วนตัวจะนำไฟล์ออกจากที่เก็บส่วนตัว - ไฟล์ที่ใช้อยู่ลบไม่ได้: รูปภาพนี้กำลังถูกใช้ ให้แก้เนื้อหาที่ใช้ไฟล์ก่อน เวอร์ชันที่เก็บไว้อาจทำให้ไฟล์ยังถูกใช้อยู่จนกว่าจะถูกตัดออก
- ไฟล์ที่เริ่มถูกใช้ระหว่างการลบจะถูกเก็บไว้
- การลบต้องยืนยันก่อนและย้อนกลับไม่ได้
ไฟล์ส่วนตัว
หัวข้อที่มีชื่อว่า “ไฟล์ส่วนตัว”โดยค่าเริ่มต้นไฟล์เป็นสาธารณะ: ทุกคนที่มีที่อยู่ของไฟล์เปิดได้ และเนื้อหาใช้ไฟล์ได้ ไฟล์ส่วนตัวเก็บแยกจากไซต์สาธารณะ ไม่มีที่อยู่สาธารณะ และเปิดได้เฉพาะผ่านลิงก์ที่สร้างให้คุณ
- ต้องมีที่เก็บส่วนตัว ผู้ดูแลระบบผูกบัคเก็ต R2 แบบส่วนตัวเป็น
PRIVATE_MEDIA_BUCKET(ดูbackend/wrangler.example.jsonc) ต้องเป็นบัคเก็ตของตัวเอง ไม่มีโดเมนสาธารณะและไม่เปิดให้เข้าถึงแบบสาธารณะ เพราะบัคเก็ตสื่อเป็นสาธารณะ และไฟล์ส่วนตัวที่เก็บไว้ที่นั่นจะถูกเผยแพร่ หากไม่มี ทำให้ไฟล์ใหม่เป็นส่วนตัว จะไม่ถูกเสนอ และ ทำให้เป็นส่วนตัว จะถูกปิดพร้อมข้อความ การติดตั้งนี้ไม่มีที่เก็บไฟล์ส่วนตัว Setup ไม่สร้างบัคเก็ตนี้และไม่ตรวจว่าเป็นส่วนตัวจริง - อัปโหลดแบบส่วนตัว ติ๊ก ทำให้ไฟล์ใหม่เป็นส่วนตัว ก่อนเลือกไฟล์ มีผลกับการอัปโหลดที่ตามมา รวมถึงไฟล์ใหญ่ที่อัปโหลดเป็นสตรีม ไฟล์ที่ปลั๊กอินหรือแหล่งภายนอกเพิ่มเป็นสาธารณะเสมอ สำเนาเว็บไซต์หรือไฟล์ประวัติจะนำไฟล์ส่วนตัวเข้ามาเป็นไฟล์ส่วนตัว
- ดูว่าอะไรเป็นส่วนตัว ไฟล์ส่วนตัวแสดงป้าย ส่วนตัว ในคลังและในรายละเอียดของไฟล์
- เปิดหรือดาวน์โหลด กด เปิด หรือ ดาวน์โหลด ในรายละเอียดของไฟล์ส่วนตัว ทุกครั้งที่กดจะขอลิงก์จากเซิร์ฟเวอร์ ซึ่งเปิดไฟล์เดียวของไซต์นี้และหมดอายุใน 5 นาที ตัวอย่างในคลังและเครื่องเล่นเสียงและวิดีโอขอลิงก์แบบเดียวกัน สมาชิกคนใดที่อ่านคลังได้ก็ขอได้ ไม่มีอย่างอื่นที่ให้ไฟล์นี้ ที่อยู่สื่อสาธารณะไม่มีไฟล์นี้ และการแปลงรูปภาพเข้าถึงไม่ได้ หากโหลดตัวอย่างเสียงหรือวิดีโอส่วนตัวไม่สำเร็จ ให้กด ลองอีกครั้ง หาก เปิด หรือ ดาวน์โหลด ไม่สำเร็จ ปุ่ม ลองอีกครั้ง จะทำรายการนั้นซ้ำโดยคงการแก้ไขของคุณไว้
- ภาพตัวอย่างส่วนตัว เมื่ออัปโหลดภาพราสเตอร์ส่วนตัว เบราว์เซอร์จะสร้างภาพย่อ WebP ขนาดไม่เกิน 320 พิกเซลและภาพตัวอย่างไม่เกิน 1280 พิกเซล แต่ละไฟล์ไม่เกิน 2 MiB และเก็บในบัคเก็ตส่วนตัวเดียวกัน การเปิดภาพตรวจสิทธิ์ผ่านไฟล์ต้นฉบับและลิงก์ชั่วคราว ไม่มี URL สาธารณะ ภาพเก่าหรือภาพที่แปลงไม่สำเร็จจะแสดงต้นฉบับ กด สร้างภาพตัวอย่างส่วนตัวใหม่ ในรายละเอียดไฟล์เพื่อลองอีกครั้ง ต้องมีสิทธิ์
media:updateส่วน SVG ใช้ไฟล์เวกเตอร์ต้นฉบับ สำเนาเว็บไซต์และการย้ายไปแอปที่สร้างขึ้นจะนำภาพตัวอย่างที่มีอยู่ไปพร้อมค่าตรวจสอบ เมื่อลบหรือแทนที่วัตถุส่วนตัวที่ไม่มีการอ้างอิง ภาพตัวอย่างของวัตถุนั้นจะถูกลบด้วย - ไฟล์ส่วนตัวในข้อความแบบจัดรูปแบบ โมเดลส่วนตัวใช้ภาพ แกลเลอรี และไฟล์แนบส่วนตัวในฟิลด์ข้อความแบบจัดรูปแบบได้ รวมถึงข้อความภายในบล็อกปลั๊กอิน ตัวแก้ไขเปิดไฟล์ผ่านช่องทางส่วนตัวของคลัง โมเดลสาธารณะ ส่วนของหน้า สนิปเพ็ต ภาพโซเชียล และองค์ประกอบเว็บไซต์ยังคงปฏิเสธไฟล์ส่วนตัวด้วย
media_privateการอ่านโมเดลส่วนตัวต้องใช้โทเค็น API และเปลี่ยนเป็นสาธารณะไม่ได้หากเวอร์ชันที่เก็บไว้ยังอ้างอิงไฟล์ส่วนตัว (model_holds_private_media) คำตอบ API เก็บรหัสไฟล์ไว้แต่ไม่เปิดเผยตำแหน่งในที่เก็บ แอปที่สร้างขึ้นจะตรวจสิทธิ์อ่านรายการเจ้าของก่อนส่งไฟล์ในข้อความ ดูข้อถัดไป - สำเนาเว็บไซต์เก็บไฟล์ส่วนตัวให้เป็นส่วนตัว สำเนาเว็บไซต์และไฟล์ประวัตินำไฟล์ส่วนตัวทุกไฟล์ไปพร้อมไบต์ ค่าตรวจสอบ รายละเอียด และการมองเห็น การนำเข้าเก็บแต่ละไฟล์ในที่เก็บส่วนตัวของปลายทางภายใต้ผู้ให้บริการส่วนตัว และไม่เก็บในบัคเก็ตสาธารณะเลย การเลิกทำนำไฟล์ออกจากที่นั่น โมเดลส่วนตัวมาถึงเป็นส่วนตัว หากติดตั้งนี้ไม่มีที่เก็บไฟล์ส่วนตัว การตรวจจะบล็อกด้วย
private_storage_unavailableก่อนเขียนอะไร การสร้างไฟล์ต้องมีสิทธิ์อ่านคลังสื่อ (สิทธิ์เดียวกับที่เปิดไฟล์ส่วนตัวได้) เพิ่มจากdata:exportเมื่อไซต์มีไฟล์ส่วนตัวใด ๆ (export_private_media_forbidden) ไม่ต้องมีmedia:updateสิทธิ์ถูกตรวจใหม่ทุกครั้งที่ดาวน์โหลด การส่งออกเฉพาะเนื้อหา (CSV, JSON, XLSX) ไม่พึ่งไฟล์ส่วนตัวในคลังเลย หากไม่ได้ผูกที่เก็บส่วนตัว ระบบจะปฏิเสธการส่งออกสำเนาเว็บไซต์หรือไฟล์ประวัติ โดยระบุไฟล์ที่เป็นปัญหาและไม่สร้างไฟล์ส่งออก (export_private_storage_unavailable) ไม่มีข้อมูลรับรองของที่เก็บหรือชื่อบัคเก็ตถูกส่งไปด้วย - แอปที่สร้างขึ้นให้บริการไฟล์ส่วนตัวของตัวเอง เมื่อคุณแยกออกไปยังรีโพซิทอรีของคุณพร้อมไฟล์ส่วนตัว ไฟล์จะถูกคัดลอกไปยังบัคเก็ตส่วนตัวของคุณ (ไม่ใช่บัคเก็ตสาธารณะ) และคอลัมน์ที่อยู่ของแถวเก็บตัวบ่งชี้
private-file:ไม่ใช่ URL แอปให้บริการไฟล์ที่GET /api/<model>/files/<field>/<row id>เฉพาะผู้ที่อ่านแถวนั้นได้ตามสิทธิ์ของโมเดลเอง ได้แก่เซสชันบัญชีของคุณ ข้อมูลรับรองบริการ หรือโทเค็นอ่านของคุณ การเป็นสมาชิกคลังของ CMS ไม่พิสูจน์อะไรที่นั่น ทุกคำขอถูกตรวจใหม่ ไม่มีอะไรหมดอายุและไม่มีอะไรถูกออกให้ Worker อ่านไบต์จากบัคเก็ตPRIVATE_FILESของตัวเอง เซิร์ฟเวอร์ Node อ่านจากไดเรกทอรีในPRIVATE_FILES_DIRECTORYและหากไม่มีทั้งสองอย่างจะตอบ503 private_files_unavailableดู Standalone backend reference - ไฟล์ซ้ำ การตรวจไฟล์ซ้ำเปรียบเทียบไฟล์ทุกไฟล์ในคลัง ทั้งสาธารณะและส่วนตัว
ไฟล์ในข้อความแบบจัดรูปแบบใช้ GET /api/<model>/files/<field>/<row id>?media=<media id> เพิ่ม &variant=thumb หรือ &variant=preview เพื่อเลือกภาพตัวอย่างส่วนตัว ฟังก์ชัน privateRichText(html, endpoint, rowId) ใน src/private-files.ts ที่สร้างขึ้นจะแทนตัวบ่งชี้ภายในด้วย URL ในโดเมนแอปก่อนแสดงข้อความ ทุกคำขอไฟล์จะตรวจสิทธิ์อ่านรายการเจ้าของใหม่
ทำให้ไฟล์เป็นส่วนตัวหรือสาธารณะ
หัวข้อที่มีชื่อว่า “ทำให้ไฟล์เป็นส่วนตัวหรือสาธารณะ”เลือกไฟล์ กด แก้ไขที่เลือก และใช้ การมองเห็น ต้องมี media:update
การเปลี่ยนการมองเห็นไม่เคยเป็นแค่การสลับธง เซิร์ฟเวอร์คัดลอกไฟล์ไปยังที่เก็บอีกฝั่งด้วยคีย์ใหม่ ตรวจว่าสำเนามีความยาวและ SHA-256 ตรงกับต้นฉบับที่บันทึกไว้ แล้วจึงสลับไฟล์ไปใช้สำเนานั้น จากนั้นลบสำเนาเดิม ตัวควบคุมแสดง กำลังคัดลอกและตรวจสอบไฟล์… ระหว่างทำงาน แล้วบอกว่าเกิดอะไรขึ้น:
- ไฟล์เป็นส่วนตัวแล้ว สำเนาสาธารณะถูกลบแล้ว (หรือกลับกันสำหรับสาธารณะ)
- บันทึกการเปลี่ยนแปลงแล้ว สำเนาเดิมถูกเก็บไว้เพราะประวัติที่เก็บไว้ยังอ้างถึงอยู่
- บันทึกการเปลี่ยนแปลงแล้ว แต่ยืนยันไม่ได้ว่าสำเนาเดิมถูกลบ อาจยังเข้าถึงได้ที่ที่อยู่เดิมจนกว่าจะลบออกจากที่เก็บ สำเนาที่เบราว์เซอร์หรือแคชถือไว้แล้วอยู่นอกการควบคุมของคลัง
- ไฟล์ไม่ได้ถูกย้าย {reason} เมื่อการคัดลอกล้มเหลวหรือสำเนาไม่ตรง: ไม่มีอะไรเปลี่ยน และสำเนาที่ไม่เสร็จถูกลบแล้ว หากลบไม่ได้ ข้อความจะบอกไว้
การทำให้ไฟล์เป็นส่วนตัวจะถูกปฏิเสธขณะที่เนื้อหาหรือเวอร์ชันที่เก็บไว้ยังใช้ไฟล์นั้น (media_in_use) ให้แก้เนื้อหานั้นก่อน ไฟล์ที่แหล่งสื่อภายนอกเก็บไว้ทำให้เป็นส่วนตัวไม่ได้
แหล่งสื่อภายนอก
หัวข้อที่มีชื่อว่า “แหล่งสื่อภายนอก”ปลั๊กอินสามารถให้แหล่งสื่อได้ เมื่อมี กล่องโต้ตอบจะแสดง แหล่งที่มา ข้าง คลัง
- เลือกแหล่ง ค้นหา และใช้ แสดงเพิ่ม เพื่อดูผลลัพธ์เพิ่ม
- เพิ่มไฟล์:
- เพิ่ม คัดลอกไฟล์เข้าคลังของคุณ ใช้กฎชนิด รูปแบบ ขีดจำกัดขนาด และการตรวจไฟล์ซ้ำเดียวกับการอัปโหลด และเก็บเครดิตของแหล่งไว้
- ลิงก์โดยไม่คัดลอก เก็บไฟล์ไว้ที่แหล่ง คลังเก็บเพียงลิงก์ไปยังไฟล์
รายละเอียด แท็ก โฟลเดอร์ และการจัดเฟรมของไฟล์ที่ลิงก์แก้ไขได้เหมือนไฟล์อื่น ไบต์ของไฟล์แทนที่หรือแก้ไขไม่ได้ การลบจะลบเพียงรายการในคลัง ถ้าปลั๊กอินถูกปิดหรือถอนออก เนื้อหาเดิมยังใช้ที่อยู่ที่บันทึกไว้ รายละเอียดจะแสดง ตอนนี้แหล่งที่มาใช้งานไม่ได้ และลิงก์ใหม่จากแหล่งนั้นจะถูกปฏิเสธ
เครดิตของไฟล์ที่คัดลอกมาจะบันทึกพร้อมรายการ และ API สาธารณะส่งเป็น credit ให้แสดงไว้ใต้รูป
สร้างรูปภาพด้วย AI
หัวข้อที่มีชื่อว่า “สร้างรูปภาพด้วย AI”กด สร้าง ในคลัง
- อธิบายรูปที่ต้องการ เลือก โมเดล และ อัตราส่วนภาพ (9:16, 1:1 หรือ 16:9) ใน การตั้งค่า
- กด สร้าง ปุ่ม สร้างใหม่ และ สร้างรูปใหม่ ใช้ลองใหม่ ยังไม่มีการบันทึกใด ๆ
- กด บันทึก เพื่อเพิ่มรูปเข้าคลัง ในโฟลเดอร์ที่แสดงอยู่ การตรวจไฟล์ซ้ำยังมีผล
การสร้างต้องมี ai:generate การบันทึกต้องมี media:upload รูปที่สร้างเป็นสาธารณะเสมอ การติดตั้งต้องตั้งค่าผู้ให้บริการ AI ไว้ การสร้างนับรวมในโควตา AI รายชั่วโมงของเว็บไซต์
ขั้นตอนถัดไป
หัวข้อที่มีชื่อว่า “ขั้นตอนถัดไป”ใช้ไฟล์ใน เนื้อหา และบน หน้าเว็บ
ข้อความทดแทนและคำบรรยายด้วย AI
หัวข้อที่มีชื่อว่า “ข้อความทดแทนและคำบรรยายด้วย AI”เปิดรายละเอียดภาพ เลือกภาษาและโมเดลที่รองรับภาพ ขอคำแนะนำแล้วตรวจสอบและแก้ไขก่อนนำไปใช้ การนำไปใช้บันทึกข้อความทดแทนและคำบรรยายของภาษาที่เลือก การทิ้งคำแนะนำจะคงข้อความเดิม ภาพถูกส่งไปยังผู้ให้บริการ AI ที่ตั้งค่าไว้โดยไม่ทำให้ภาพส่วนตัวเป็นสาธารณะ หากข้อมูลถูกแก้ไขพร้อมกัน ระบบจะไม่เขียนทับ เลือกเปิดการตรวจสอบหลังอัปโหลดได้ รองรับ JPEG, PNG และ WebP สูงสุด 10 MiB
ฟิลด์ไฟล์และประวัติ
หัวข้อที่มีชื่อว่า “ฟิลด์ไฟล์และประวัติ”เปิด คลังสื่อ ในเมนูด้านข้างเพื่อจัดการไฟล์โดยไม่ต้องเลือกไฟล์ให้รายการใด ตัวเลือกไฟล์ในหน้าอื่นใช้คลังเดียวกัน
ผู้ดูแลไซต์เพิ่ม ฟิลด์ไฟล์ ได้สูงสุด 24 ฟิลด์: ข้อความ ตัวเลข ค่าจริง/เท็จ ตัวเลือก วันที่ สื่อ และความสัมพันธ์ เลือก แยกตามภาษา เพื่อเก็บค่าแต่ละภาษา มิฉะนั้นใช้ค่าร่วมกัน ฟิลด์ใหม่ไม่เปิดเผยต่อสาธารณะ เปิด สาธารณะ เฉพาะค่าที่เว็บไซต์ควรอ่าน การกำหนดฟิลด์ต้องมี site:settings ส่วนการแก้ค่าต้องมี media:update
เปิด ข้อมูลไฟล์ เลือกภาษา แล้วกรอกค่า ปุ่ม บันทึก ที่ด้านล่างของตัวแก้ไขจะบันทึกข้อมูลไฟล์พร้อมคำอธิบายและตัวเลือกของไฟล์ที่เลือก ไม่มีปุ่มบันทึกข้อมูลไฟล์แยกต่างหาก ใช้ ประวัติข้อมูล เพื่อคืนค่ารุ่นเดิม เก็บได้สูงสุด 50 รุ่น โดยข้อมูลปัจจุบันและประวัติรวมกันไม่เกิน 512 KiB ระบบลบรุ่นเก่าทั้งรุ่นก่อน และไม่ตัดทอนค่าปัจจุบัน เมื่อเปลี่ยนชนิด การตั้งค่า ภาษา หรือการเปิดเผยของฟิลด์ ค่าเก่าจะไม่แสดงต่อสาธารณะและไม่คืนค่าโดยอัตโนมัติ ต้องกรอกใหม่ตามนิยามปัจจุบัน
ความสัมพันธ์ตรวจสิทธิ์โมเดล รายการ และภาษาในไซต์เดียวกัน ค่าสาธารณะอ้างอิงได้เฉพาะไฟล์สาธารณะและรายการสาธารณะที่เผยแพร่แล้ว ข้อมูลส่วนตัวและประวัติไม่อยู่ในคำตอบคลังสื่อทั่วไปหรือเนื้อหาสาธารณะ ค่าที่เปิดเผยอยู่ใน mediaMetadata โดยใช้ ID ไฟล์เป็นคีย์ ข้อมูลนี้ตามรุ่นปัจจุบันของไฟล์ แม้หลายรายการใช้ไฟล์เดียวกัน เว็บไซต์ที่สร้างจะเก็บค่าขณะสร้าง ต้องสร้างใหม่เพื่ออัปเดต ไบต์ไฟล์ การจัดเฟรม และคำอธิบายที่ตรึงกับรุ่นเนื้อหายังคงใช้กติกาเดิม
การคัดลอกไซต์นำฟิลด์ ค่า และประวัติไปด้วย พร้อมเปลี่ยนการอ้างอิงให้ตรงกับไฟล์และรายการปลายทาง โดยไม่เขียนทับข้อมูลไฟล์ปลายทางที่มีอยู่ การเลิกทำนำเข้าจะเก็บไฟล์ที่ถูกแก้ไขหรือยังมีการใช้งานพร้อมข้อมูล และปฏิเสธการลบสิ่งที่ยังพึ่งพาอยู่ รวมถึงการอ้างอิงจากประวัติและวงจรอ้างอิง นิยามฟิลด์ที่ยังใช้จะคงอยู่ด้วย หากล้างแคชสาธารณะไม่สำเร็จ ระบบจะแจ้งหลังบันทึก
หากบันทึกข้อมูลไฟล์ไม่สำเร็จ ตัวแก้ไขจะยังเปิดอยู่และเก็บค่าที่คุณแก้ไขไว้ พร้อมเปิดส่วน ข้อมูลไฟล์ เพื่อแสดงข้อผิดพลาด แก้ค่าแล้วกด บันทึก ที่ด้านล่างอีกครั้ง หากผู้อื่นเปลี่ยนฟิลด์หรือค่า ให้กด โหลดใหม่ เพื่อทิ้งการแก้ไขข้อมูลไฟล์ของคุณและโหลดรุ่นปัจจุบัน จากนั้นแก้ค่าและลองบันทึกอีกครั้ง
ต้นฉบับตามภาษา
หัวข้อที่มีชื่อว่า “ต้นฉบับตามภาษา”เปิด สื่อ → แก้ไขที่เลือก → ต้นฉบับตามภาษา เลือก ภาษา แล้วกด แทนที่ไฟล์ นำต้นฉบับออก จะกลับไปใช้ไฟล์สำรอง ต้องมีสิทธิ์ media:update ID สื่อ ลิงก์ และคำอธิบายแต่ละภาษาคงเดิม
ลำดับไฟล์: ภาษาที่ขอ ภาษาสำรองที่ตั้งไว้ แล้วต้นฉบับหลัก เวอร์ชันที่เผยแพร่ตรึงไฟล์เดิม การแทนที่หรือนำต้นฉบับออกไม่ลบไฟล์ที่ประวัติยังใช้ ไฟล์ส่วนตัวยังคงใช้กฎสิทธิ์เดิม การคัดลอกไซต์และโอนประวัติทั้งหมดเก็บภาษาของต้นฉบับและไฟล์เก่า
API จัดการ: listMediaOriginals, replaceMediaOriginal, removeMediaOriginal การแทนที่ใช้ multipart file และ expected_object_id ใช้สตริงว่างเมื่อยังไม่มีต้นฉบับภาษานั้น การนำออกต้องระบุ expected_object_id ปัจจุบัน หากเปลี่ยนแล้วจะได้ 409 media_changed ต้นฉบับหลักยังใช้คำสั่งแทนที่เดิม
ยังไม่เปิดตัว (pre-MVP) และยังไม่มีเวอร์ชันเสถียร
คอมมิตซอร์สโค้ด: fe23db481c422b40e317b92fc98116b4c0c26a87 (มีการแก้ไขที่ยังไม่คอมมิต)
วันที่สร้างเอกสาร (UTC): 2026-10-18T09:22:34.630Z
คอมมิตสำหรับอัปเกรด: ระบุไม่ได้: มีการแก้ไขที่ยังไม่คอมมิต. บันทึกการเปลี่ยนแปลง