สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

ตอนนี้ผมจะทำ wed service แปลง html เป็นไฟล์ PDF
แล้วผมอยากให้ไฟล์ PDF มาโชว์บน web browser โดยส่งผ่าน HTTPHeader แนะนำแนวทางการศึกษาหน่วยครับ
Selection_002.png
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ตัวอย่างภาษา php
https://www.php.net/manual/fr/function.header.php

ถ้า python ลองตามนี้


หรือ

โค้ด: เลือกทั้งหมด

import json
from flask import Flask, request, jsontify

app = Flask(__name__)

@app.route('/api/my_json', methods=['GET', 'POST])
def my_json():
    if request.method == 'POST':
        data = {
            'text': 'Hello, AdaBrain',
            'user': 'It\'s me Ada'
        }
                                    
        response = app.response_class(
            response=json.dumps(data),
        mimetype='application/json'
        )                                    
        return response
                                    
return '200'  
ตัวอย่างนี้จะ จะส่งออกมาเป็น json

โค้ด: เลือกทั้งหมด

response = app.response_class(
    		response=json.dumps(data),
		mimetype='application/json'
    	)	
ลองเปลี่ยนเป็น PDF ดูว่าจะได้มั้ย mimetype='application/pdf'
ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

thatsawan เขียน:ตัวอย่างภาษา php
https://www.php.net/manual/fr/function.header.php

ถ้า python

โค้ด: เลือกทั้งหมด

import json
from flask import Flask, request, jsontify

app = Flask(__name__)

@app.route('/api/my_json', methods=['GET', 'POST])
def my_json():
    if request.method == 'POST':
        data = {
            'text': 'Hello, AdaBrain',
            'user': 'It\'s me Ada'
        }
                                    
        response = app.response_class(
            response=json.dumps(data),
        mimetype='application/json'
        )                                    
        return response
                                    
return '200'
ตัวอย่างนี้จะ จะส่งออกมาเป็น json

โค้ด: เลือกทั้งหมด

response = app.response_class(
    		response=json.dumps(data),
		mimetype='application/json'
    	)	
ลองเปลี่ยนเป็น PDF ดูว่าจะได้มั้ย mimetype='application/pdf'

หรือ ลองตามนี้
ขอบคุณครับผมจะศึกษาดู
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ตัวอย่าง flask กำหนด headers เอง

โค้ด: เลือกทั้งหมด

from flask import make_response

@app.route('/docs/<id>')
def get_pdf(id=None):
    if id is not None:
        binary_pdf = get_binary_pdf_data_from_database(id=id)
        response = make_response(binary_pdf)
        response.headers['Content-Type'] = 'application/pdf'
        response.headers['Content-Disposition'] = \
            'inline; filename=%s.pdf' % 'yourfilename'
        return response
ส่วนสำคัญคือตรงนี้

โค้ด: เลือกทั้งหมด

response.headers['Content-Type'] = 'application/pdf'
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

mindphp เขียน:ตัวอย่าง flask กำหนด headers เอง

โค้ด: เลือกทั้งหมด

from flask import make_response

@app.route('/docs/<id>')
def get_pdf(id=None):
    if id is not None:
        binary_pdf = get_binary_pdf_data_from_database(id=id)
        response = make_response(binary_pdf)
        response.headers['Content-Type'] = 'application/pdf'
        response.headers['Content-Disposition'] = \
            'inline; filename=%s.pdf' % 'yourfilename'
        return response
ส่วนสำคัญคือตรงนี้

โค้ด: เลือกทั้งหมด

response.headers['Content-Type'] = 'application/pdf'
อันนี้เหมือนใน VDO น่าจะมาถูกทาง 555
ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

mindphp เขียน:ตัวอย่าง flask กำหนด headers เอง

โค้ด: เลือกทั้งหมด

from flask import make_response

@app.route('/docs/<id>')
def get_pdf(id=None):
    if id is not None:
        binary_pdf = get_binary_pdf_data_from_database(id=id)
        response = make_response(binary_pdf)
        response.headers['Content-Type'] = 'application/pdf'
        response.headers['Content-Disposition'] = \
            'inline; filename=%s.pdf' % 'yourfilename'
        return response
ส่วนสำคัญคือตรงนี้

โค้ด: เลือกทั้งหมด

response.headers['Content-Type'] = 'application/pdf'

โค้ด: เลือกทั้งหมด

binary_pdf = get_binary_pdf_data_from_database(id=id)
response = make_response(binary_pdf)
 
ในส่วนนี้ id ต้องมาจาก database หรอครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

get_binary_pdf_data_from_database() เป็นส่วนการทำงาน เพื่อแปลงไฟล์ pdf เป็น binary
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

mindphp เขียน:get_binary_pdf_data_from_database() เป็นส่วนการทำงาน เพื่อแปลงไฟล์ pdf เป็น binary
จะต้องแปลง pdf เป็น binary อีกทีใช่ไหมครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ใช่ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

Re: สอบถาม เกี่ยวกับ HTTP Header หน่อยครับ

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

mindphp เขียน:get_binary_pdf_data_from_database() เป็นส่วนการทำงาน เพื่อแปลงไฟล์ pdf เป็น binary

โค้ด: เลือกทั้งหมด

        with open("/home/com001/PycharmProjects/htmltoPdfImage2/pdf/test1.pdf", "rb") as pdf_file:
            encoded_string = base64.b64encode(pdf_file.read())
ผมลอง return ค่าออกมาดูจะได้แบบนี้ถูกไหมครับ
Selection_004.png
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 93