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

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

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

User avatar
jirawoot
PHP VIP Members
PHP VIP Members
Posts: 1263
Joined: 17/06/2019 10:30 am

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

Post by jirawoot » 02/07/2019 10:03 am

ตอนนี้ผมจะทำ wed service แปลง html เป็นไฟล์ PDF
แล้วผมอยากให้ไฟล์ PDF มาโชว์บน web browser โดยส่งผ่าน HTTPHeader แนะนำแนวทางการศึกษาหน่วยครับ
Selection_002.png

thatsawan
PHP VIP Members
PHP VIP Members
Posts: 19929
Joined: 31/03/2014 10:02 am
Contact:

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

Post by thatsawan » 02/07/2019 10:22 am

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

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


หรือ

Code: Select all

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

Code: Select all

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

User avatar
jirawoot
PHP VIP Members
PHP VIP Members
Posts: 1263
Joined: 17/06/2019 10:30 am

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

Post by jirawoot » 02/07/2019 10:23 am

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

ถ้า python

Code: Select all

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

Code: Select all

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

หรือ ลองตามนี้
ขอบคุณครับผมจะศึกษาดู

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22586
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp » 02/07/2019 10:23 am

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

Code: Select all

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
ส่วนสำคัญคือตรงนี้

Code: Select all

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
Posts: 19929
Joined: 31/03/2014 10:02 am
Contact:

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

Post by thatsawan » 02/07/2019 10:26 am

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

Code: Select all

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
ส่วนสำคัญคือตรงนี้

Code: Select all

response.headers['Content-Type'] = 'application/pdf'
อันนี้เหมือนใน VDO น่าจะมาถูกทาง 555

User avatar
jirawoot
PHP VIP Members
PHP VIP Members
Posts: 1263
Joined: 17/06/2019 10:30 am

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

Post by jirawoot » 02/07/2019 11:10 am

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

Code: Select all

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
ส่วนสำคัญคือตรงนี้

Code: Select all

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

Code: Select all

binary_pdf = get_binary_pdf_data_from_database(id=id)
response = make_response(binary_pdf)
 
ในส่วนนี้ id ต้องมาจาก database หรอครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22586
Joined: 22/09/2008 6:18 pm
Contact:

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

Post by mindphp » 02/07/2019 11:13 am

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

User avatar
jirawoot
PHP VIP Members
PHP VIP Members
Posts: 1263
Joined: 17/06/2019 10:30 am

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

Post by jirawoot » 02/07/2019 11:30 am

mindphp wrote:get_binary_pdf_data_from_database() เป็นส่วนการทำงาน เพื่อแปลงไฟล์ pdf เป็น binary
จะต้องแปลง pdf เป็น binary อีกทีใช่ไหมครับ

Post Reply

Return to “Programming - C/C++ & java & Python”

Users browsing this forum: No registered users and 8 guests