แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python
Moderator: mindphp, ผู้ดูแลกระดาน
-
fonfonn
- PHP VIP Members

- โพสต์: 4983
- ลงทะเบียนเมื่อ: 11/07/2022 9:28 am
โพสต์ที่ยังไม่ได้อ่าน
โดย fonfonn »
การส่งค่ารูปภาพที่แปลงได้กลับเป็น base64 จากโค้ดผิดพลาดตรงไหนคะ รบกวนช่วยแก้ให้ถูกต้องทีค่ะ ที่เข้าใจคือเรานำ ไฟล์ภาพที่แปลงได้ มาทำการแปลงเป็น base64 และ return ค่ากลับ
โค้ด: เลือกทั้งหมด
@app.post('/api_pdftopic')
async def read_pdf(request: Pdf_base64):
with open(r'C:\Users\fonfo\pdf-toolkits\lernpython.pdf', 'wb') as theFile:
theFile.write(base64.b64decode(request.pdf_base64))
process = subprocess.Popen(r"Magick convert C:\Users\fonfo\pdf-toolkits\lernpython.pdf -quality 100 C:\Users\fonfo\pdf-toolkits\lernpython.jpg", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
image_base64 = base64.b64encode(out) #นำผลลัพธ์ที่ได้มาแปลงเป็น base64
return (image_base64) #ส่งค่ากลับคืนเป็น base64 ที่แปลงมา
แต่เมื่อใส่โค้ดตามด้านบนแล้ว ผลที่ได้คือ "" ตามภาพค่ะ แต่ต้องการให้มัน return base64 ของภาพที่แปลงได้แล้ว ควรทำยังไงคะ

- ผลลัพธ์ที่ได้.png (5.92 KiB) Viewed 1705 times
you're the only one treasure
-
wkid
- PHP VIP Members

- โพสต์: 2158
- ลงทะเบียนเมื่อ: 17/05/2022 10:37 am
โพสต์ที่ยังไม่ได้อ่าน
โดย wkid »
ตรง return ลองเอาวงเล็บออกหน่อยครับ ถ้าไม่ได้ ขอดูค่าของ image_base64 ด้วยครับ ลองปริ้นมาเช็คดูครับ
ทำไมสัตว์ที่น่ากลัวที่สุดถึงตัวเล็กๆที่เรียกว่า Bug ละนั่น );
-
fonfonn
- PHP VIP Members

- โพสต์: 4983
- ลงทะเบียนเมื่อ: 11/07/2022 9:28 am
โพสต์ที่ยังไม่ได้อ่าน
โดย fonfonn »
จากที่ลองเอา () ออกนะคะ
โค้ด: เลือกทั้งหมด
@app.post('/api_pdftopic')
async def read_pdf(request: Pdf_base64):
with open(r'C:\Users\fonfo\pdf-toolkits\lernpython.pdf', 'wb') as theFile:
theFile.write(base64.b64decode(request.pdf_base64))
process = subprocess.Popen(r"Magick convert C:\Users\fonfo\pdf-toolkits\lernpython.pdf C:\Users\fonfo\pdf-toolkits\lernpython.jpg", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
image_base64 = base64.b64encode(out)
print (image_base64)
return image_base64
ผลลัพธ์
ผลที่ได้เป็นแบบเดิมค่ะ

- ผลลัพธ์ที่ได้.png (5.92 KiB) Viewed 1691 times
ส่วนค่าที่ print มันต้องขึ้นที่ terminal ใช่ไหมคะ
ผลที่ได้

- ค่าที่ปริ๊น.png (21.89 KiB) Viewed 1691 times
you're the only one treasure
-
wkid
- PHP VIP Members

- โพสต์: 2158
- ลงทะเบียนเมื่อ: 17/05/2022 10:37 am
โพสต์ที่ยังไม่ได้อ่าน
โดย wkid »
อันนี้ส้งแค่ base64 อย่างเดียวหรอครับ ค่ามันไม่มานะครับ ลองนำโค้ดแปลงไปทดสอบแยก แล้วปริ้นผลมาดูหน่อยครับว่าค่าที่ปริ้นตรงกันไหมครับ
ทำไมสัตว์ที่น่ากลัวที่สุดถึงตัวเล็กๆที่เรียกว่า Bug ละนั่น );
-
fonfonn
- PHP VIP Members

- โพสต์: 4983
- ลงทะเบียนเมื่อ: 11/07/2022 9:28 am
โพสต์ที่ยังไม่ได้อ่าน
โดย fonfonn »
เมื่อลองทดสอบแยก
โค้ด: เลือกทั้งหมด
import base64
import subprocess
process = subprocess.Popen(r"Magick convert C:\Users\fonfo\pdf-toolkits\lernpython.pdf -quality 100 C:\Users\fonfo\pdf-toolkits\lernpython.jpg",stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
image_base64 = base64.b64encode(out)
print (image_base64)
ผลที่ได้ จาก print ได้ b' '

- ได้ค่า b' '.png (53.4 KiB) Viewed 1675 times
จะสามารถแก้ไขยังไงได้บ้างคะ หรือโค้ดที่ถูกต้องต้องแก้เป็นแบบไหนคะ คือต้องการให้มัน return base64 ของภาพที่เราทำการแปลงได้ออกมาค่ะ
you're the only one treasure
-
MBMoo
- PHP VIP Members

- โพสต์: 29088
- ลงทะเบียนเมื่อ: 04/06/2020 10:05 am
โพสต์ที่ยังไม่ได้อ่าน
โดย MBMoo »
out ที่ได้มา ได้ปริ้นผลที่ได้ดูก่อนมั้ยคะ
และเคยมีแนะนำให้ดูเพิ่มเติมเรื่อง Magick ไปแล้วว่าสามารถแปลง pdf เป็น base64 ภาพ ได้เลย
-
fonfonn
- PHP VIP Members

- โพสต์: 4983
- ลงทะเบียนเมื่อ: 11/07/2022 9:28 am
โพสต์ที่ยังไม่ได้อ่าน
โดย fonfonn »
จากที่ลองที่ปริ๊น out ออกมาดูนะคะ ได้
และจากการดูเพิ่มเติมเรื่อง Magick ที่สามารถแปลง pdf เป็น base64 ภาพ ได้เลย แต่ยังสงสัยเรื่องการใช้งาน สามารถใส่ได้ในลักษณะนี้เลยไหมคะ
โค้ด: เลือกทั้งหมด
process = subprocess.Popen(r"Magick convert C:\Users\fonfo\pdf-toolkits\lernpython.pdf INLINE:JPG:-", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
ตอนนี้ถ้าใช้แบบนี้ เมื่อสั่ง Excute จะได้ไฟล์ JPG ขึ้นมา

- 2022-08-11 (6).png (108.52 KiB) Viewed 1653 times
ซึ่งสงสัยว่าการใช้งานโค้ด แปลง pdf เป็น base64 ภาพ นี่ใช้งานยังไงคะ แล้วสามารถ return ค่า base64 กลับแบบไหนค่ะ
you're the only one treasure
-
MBMoo
- PHP VIP Members

- โพสต์: 29088
- ลงทะเบียนเมื่อ: 04/06/2020 10:05 am
โพสต์ที่ยังไม่ได้อ่าน
โดย MBMoo »
ปริ้น out มาดูหรือยังคะแบบ pdf เป็น base64 ปริ้นทั้ง out และ err
-
wkid
- PHP VIP Members

- โพสต์: 2158
- ลงทะเบียนเมื่อ: 17/05/2022 10:37 am
โพสต์ที่ยังไม่ได้อ่าน
โดย wkid »
ค่าที่รีเทิร์กลับ ก็สามารถรีเทิร์นได้ทั้ง แบบ int str ครับ แต่ค่าที่ส่งกลับไปจะออกมาในรูบแบบ json ครับ
ทำไมสัตว์ที่น่ากลัวที่สุดถึงตัวเล็กๆที่เรียกว่า Bug ละนั่น );
-
fonfonn
- PHP VIP Members

- โพสต์: 4983
- ลงทะเบียนเมื่อ: 11/07/2022 9:28 am
โพสต์ที่ยังไม่ได้อ่าน
โดย fonfonn »
bolue เขียน: ↑11/08/2022 12:40 pm
ปริ้น out มาดูหรือยังคะแบบ pdf เป็น base64 ปริ้นทั้ง out และ err
จากโค้ดนี้นะคะ
โค้ด: เลือกทั้งหมด
@app.post('/api_pdftopic')
async def read_pdf(request: Pdf_base64):
with open(r'C:\Users\fonfo\pdf-toolkits\lernpython.pdf', 'wb') as theFile:
theFile.write(base64.b64decode(request.pdf_base64))
process = subprocess.Popen(r"Magick convert C:\Users\fonfo\pdf-toolkits\lernpython.pdf INLINE:JPG:-", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = process.communicate()
print (out)
print (type(out))
print (err)
print (type(err))
return
เมื่อสั่งปริ๊น ทั้งตัว out และ err

- 2022-08-11.png (5.69 KiB) Viewed 1640 times
แล้วยังไงต่อคะแบบนี้ เพราะได้เป็น
you're the only one treasure
-
-
- 9 ตอบกลับ
- 7393 แสดง
-
โพสต์ล่าสุด โดย jirawoot
21/06/2019 10:07 am
-
-
- 0 ตอบกลับ
- 1788 แสดง
-
โพสต์ล่าสุด โดย tatiya
31/08/2018 4:08 pm
-
-
- 0 ตอบกลับ
- 2772 แสดง
-
โพสต์ล่าสุด โดย MBMoo
22/08/2020 6:40 pm
-
-
- 0 ตอบกลับ
- 3701 แสดง
-
โพสต์ล่าสุด โดย jirawoot
05/07/2019 4:46 pm
-
-
- 0 ตอบกลับ
- 4497 แสดง
-
โพสต์ล่าสุด โดย MBMoo
09/11/2020 3:26 pm
-
-
- 6 ตอบกลับ
- 1098 แสดง
-
โพสต์ล่าสุด โดย fonfonn
22/08/2022 12:54 pm
-
-
- 7 ตอบกลับ
- 1073 แสดง
-
โพสต์ล่าสุด โดย mindphp
06/08/2022 1:40 pm
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 3