Flask-1-04-Request

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask-1-04-Request相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88' title='瑙e喅鏂规'>瑙e喅鏂规   des   涓嶅悓   form   for   鏀诲嚮   png   flask   

鍦ㄥ紑濮嬪涔犱唬鐮佷箣鍓嶅厛浠嬬粛涓€涓伐鍏峰彨鍋?span style="color: #ff6600;">Postman :

鎶€鏈浘鐗? src=

瀵瑰氨闀夸笂闈㈤偅鏍凤紝瀹冩槸涓€娆鹃潪甯搁€傚悎寮€鍙戜汉鍛樹娇鐢ㄧ殑璋冭瘯宸ュ叿锛屽彲浠ユ牴鎹綘鍙戣捣鐨勮姹傛惡甯︿竴浜涘弬鏁帮紝璧风爜鎴戠幇鍦ㄦ槸杩欎箞鐞嗚В鐨勶紝鍚勭浣犺鍙戦€佺粰鏈嶅姟绔殑鍙傛暟

閭d箞灏辫繘鍏ヤ粖澶╃殑姝i锛?/h1>

鑾峰彇璇锋眰浠庡弬鏁帮細

棣栧厛鎴戜滑闇€瑕佷粠妗嗘灦涓鍏ワ紝Flask涓烘垜浠噯澶囩殑request锛屽畠灏辨槸Flask涓〃绀哄綋鍓嶈姹傜殑request瀵硅薄銆俽equest瀵硅薄涓繚瀛樹簡涓€娆ttp璇锋眰鐨勪俊鎭?/h1>

棣栧厛鎴戜滑閫氳繃Postman涓烘垜浠彂璧蜂竴鏉¤姹備俊鎭紝鍦ㄨ繖涔嬪墠锛屾垜浠渶瑕佸厛瀹氫箟涓€涓鍥撅紝璁╁畠鎵惧埌璇锋眰鐨勮矾寰?/h2>
# coding:utf-8
from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    return 鈥?/span>test ok鈥?/span>

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

涓嶉噸瑕佺殑娉ㄦ剰锛氫负浜嗚鏂囨。鐪嬭捣鏉ヤ笉閭d箞鍐楅暱锛屾垜閫夋嫨鎬х殑鍑忓皯浜嗙┖琛?/span>

鎶€鏈浘鐗? src=

閫氳繃涓婇潰涓€绯诲垪鐨勬搷浣滃ぇ鑷村簲璇ヤ簡瑙e鏋滃彂閫佷竴娆¤姹傦紝鎺ヤ笅鏉ョ殑鏈変簺鎿嶄綔锛屾湁鍙兘鏄枃瀛楀舰瀹逛笉澶竻妤氱殑銆傛墍浠ヤ粩缁嗙殑鐪嬩竴涓嬫埅鍥剧殑姣忎竴涓甫鏈夐€夋鍜屼綘涓嬭浇Postman涓嶄竴鏍风殑鍦版柟銆?/p>

Request鐨勫父鐢ㄥ睘鎬?/h1>
  • form

    涓€涓寘鍚В鏋愯繃鐨勪粠 POST 鎴?nbsp;PUT 璇锋眰鍙戦€佺殑琛ㄥ崟瀵硅薄鐨?nbsp;MultiDict 銆傝娉ㄦ剰涓婁紶鐨勬枃浠朵笉浼氬湪杩欓噷锛岃€屾槸鍦?nbsp;files 灞炴€т腑銆?/p>

  • args

    涓€涓寘鍚В鏋愯繃鐨勬煡璇㈠瓧绗︿覆锛?URL 涓棶鍙峰悗鐨勯儴鍒嗭級鍐呭鐨?nbsp;MultiDict 銆?/p>

  • values

    涓€涓寘鍚?nbsp;form 鍜?nbsp;args 鍏ㄩ儴鍐呭鐨?nbsp;CombinedMultiDict 銆?/p>

  • cookies

    涓€涓寘鍚姹備腑浼犻€佺殑鎵€鏈?cookie 鍐呭鐨?nbsp;dict 銆?/p>

  • stream

    濡傛灉琛ㄥ崟鎻愪氦鐨勬暟鎹病鏈変互宸茬煡鐨?mimetype 缂栫爜锛屼负鎬ц兘鑰冭檻锛屾暟鎹細涓嶇粡淇敼瀛樺偍鍦ㄨ繖涓祦涓€傚ぇ澶氭暟鎯呭喌涓嬶紝浣跨敤鍙互鎶婃暟鎹彁渚涗负瀛楃涓茬殑 data 鏄洿濂界殑鏂规硶銆傛祦鍙繑鍥炰竴娆℃暟鎹€?/p>

  • headers

    杩涘叆璇锋眰鐨勬爣澶村瓨涓轰竴涓被浼煎瓧鍏哥殑瀵硅薄銆?/p>

  • data

    濡傛灉杩涘叆鐨勮姹傛暟鎹槸 Flask 涓嶈兘澶勭悊鐨?mimetype 锛屾暟鎹皢浣滀负瀛楃涓插瓨浜庢銆?/p>

  • files

    涓€涓寘鍚?nbsp;POST 鍜?nbsp;PUT 璇锋眰涓笂浼犵殑鏂囦欢鐨?nbsp;MultiDict 銆傛瘡涓枃浠跺瓨鍌ㄤ负FileStorage 瀵硅薄銆傚叾鍩烘湰鐨勮涓虹被浼间綘鍦?Python 涓鍒扮殑鏍囧噯鏂囦欢瀵硅薄锛屽樊寮傚湪浜庤繖涓璞℃湁涓€涓?nbsp;save() 鏂规硶鍙互鎶婃枃浠跺瓨鍌ㄥ埌鏂囦欢绯荤粺涓娿€?/p>

  • environ

    搴曞眰鐨?WSGI 鐜銆?/p>

  • method

    褰撳墠璇锋眰鐨?HTTP 鏂规硶 (POST 锛?nbsp;GET 绛夌瓑)

 

棣栧厛鎴戜滑閫氳繃Postman鍙戦€佷竴涓猣rom琛ㄥ崟璇锋眰锛屽厛鍐欏ソ鍚庡彴鎺ユ敹鐨勮鍥撅紝鐒跺悗鍐嶅彂璧疯姹?/h2>
# coding:utf-8
# request涓寘鍚簡鍓嶇鍙戦€佽繃鏉ョ殑鎵€鏈夎姹傛暟鎹?/span>
from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    # 鎺ユ敹瀹㈡埛绔姹傝繃鏉ョ殑鏁版嵁
    # 閫氳繃requset.form鍙互鐩存帴鎻愬彇璇锋眰浣撲腑鐨勮〃鍗曟牸寮忕殑鏁版嵁锛?鏄竴涓被浼煎瓧鍏哥殑瀵硅薄
    name = request.form.get(鈥?/span>username鈥?/span>)
    pwd = request.form.get(鈥?/span>password鈥?/span>)
    return 鈥?/span>username = %s, password = %s鈥?/span> % (name, pwd)

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

鎶€鏈浘鐗? src=

涓€涓笉閲嶈鐨勬敞鎰忥細璇锋妸娉ㄦ剰鐐规斁鍦‵lask妗嗘灦涓婏紝杩欎釜Postman涓嶆槸閲嶇偣锛屼富瑕佹槸鍚庣閫氳繃request鎺ユ敹鍓嶇鍙戦€佽繃鏉ョ殑鏁版嵁鎵嶆槸閲嶇偣锛岀悊娓卹equest鎵嶆槸鏈€涓昏鐨勩€備綘涔熷彲浠ラ€氳繃椤甸潰鍙戦€佸埌瑙嗗浘锛屼綘浠讳綍鍙互鍙戣捣璇锋眰鐨勬柟寮忛兘鏄彲浠ョ殑涓嶅崟鍗曞彧鏈塒ostman

閫氳繃浠g爜鍙互鐪嬪嚭锛屾垜浠€氳繃request.form鏉ユ帴鍙楀墠绔彂閫佽繃鏉ョ殑琛ㄥ崟鏁版嵁锛屾帴鍙楃殑鏄被浼煎瓧鍏哥殑涓€涓璞★紝鏃㈢劧鏄瓧鍏告垜浠篃鍙互閫氳繃杩欑鏂瑰紡鏉ヨ祴鍊肩粰鍙橀噺 request.form[鈥榰sername鈥榏锛屼絾鏄苟涓嶆帹鑽愬悗绔潵杩欎箞鍋氥€傚洜涓轰娇鐢╣et()鏂规硶鑾峰彇锛屽氨绠楁壘涓嶅埌鏈€澶氫篃灏辨槸杩斿洖涓€涓狽one锛屼笉浼氬浣犵殑绋嬪簭閫犳垚浠€涔堜笉蹇呰鐨勯敊璇紝浣嗘槸濡傛灉杩欓噷浣犻€氳繃request.form[鈥榰sername鈥榏杩欑鏂瑰紡鑾峰彇寰楄瘽锛屽湪Web绋嬪簭褰撲腑浼氱洿鎺ヨ繑鍥炰竴涓?00鐨勭姸鎬佺爜锛屼細缁欎綘鐖嗗嚭涓€涓敊璇紝褰卞搷浣犵殑椤甸潰鐨勬祦鐣咃紝濡傛灉浣犲睘浜庝氦浠樹箣鍚庣殑鐘舵€侊紝閭d箞浣犵殑鐢叉柟涓€瀹氫細鏉ユ壘浣犻夯鐑︼紝涓轰簡閬垮厤涓嶅繀瑕佺殑楹荤儲锛岃鍠勫緟浣犵殑绋嬪簭锛岄伩鍏嶄笉蹇呰鐨凚ug锛岄偅涔堟帴涓嬫潵灏辨潵灞曠ず涓€涓嬭繖浜涢棶棰橈紝浠g爜浼氶潪甯哥殑鍍忥紝璇蜂粩缁嗚鐪?/span>

 

from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    name = request.form[鈥?/span>username鈥?/span>]  # 娉ㄦ剰杩欓噷涓烘洿鏀逛唬鐮?
    # name = request.form.get(鈥榰sername鈥?
    pwd = request.form.get(鈥?/span>password鈥?/span>)
    return 鈥?/span>username = %s, password = %s鈥?/span> % (name, pwd)

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

 

鎶€鏈浘鐗? src=

鎺ヤ笅鏉ュ湪鐪嬩竴涓嬪鏋滈€氳繃request.form.get(鈥榰sername鈥?杩欑鏂瑰紡鎺ュ彈鍓嶇鍙戦€佽繃鏉ョ殑璇锋眰鍙傛暟鍑虹幇鎵句笉鍒扮殑鎯呭喌浼氭槸鍙嬪ソ鐨勫悧锛?/h1>
from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    # name = request.form[鈥榰sername鈥榏
    name = request.form.get(鈥?/span>username鈥?/span>)  # 杩欐鏄€氳繃get()鏂规硶鎺ュ彈鏁版嵁
    pwd = request.form.get(鈥?/span>password鈥?/span>)
    return 鈥?/span>username = %s, password = %s鈥?/span> % (name, pwd)

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

鎶€鏈浘鐗? src=

濡傛灉琛ㄥ崟涓紶杩囨潵鍚屽悕鐨勯敭锛岄偅涔堟帴鍙楃粨鏋滀細濡備綍鍛紵鎴戝湪璇锋眰涓紶鍏ヤ簡涓や釜username鍒嗗埆鏄笉鍚岀殑鍊?/h1>

鎶€鏈浘鐗? src=

閫氳繃杩斿洖鐨勭粨鏋滃彲浠ョ湅鍑猴紝杩斿洖缁欐垜浠殑鏄涓€涓壘鍒扮殑username鐨勫€硷紝杩欓噷濡傛灉鐪熺殑閮芥兂鑾峰彇鍒帮紝鍙互閫氳繃getlist()鏂规硶鏉ユ帴鍙楄姹傜殑鍚屽悕鐨勯敭

from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    # 閫氳繃get鏂规硶鍙兘鎷垮埌澶氫釜鍚屽悕鍙傛暟鐨勭涓€涓?/span>
    name = request.form.get(鈥?/span>username鈥?/span>)
    pwd = request.form.get(鈥?/span>password鈥?/span>)
    # 閫氳繃getlist() 鍙互鑾峰彇澶氫釜
    name_list = request.form.getlist(鈥?/span>username鈥?/span>)
    return 鈥?/span>username = %s, password = %s, username_list = %s鈥?/span> % (name, pwd, name_list)

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

鎶€鏈浘鐗? src=

娉ㄦ剰锛氳偗瀹氫細鏈夊皬浼欎即锛屼細鐪嬭鍦ㄥ瓧绗︿覆鍓嶉潰鏈変竴涓猽锛岃繖閲岀畝鍗曠殑鎵╁睍涓€涓嬶紝鍥犱负鍦≒ython2涓紝瀛楃涓茬被鍨嬮粯璁ゆ槸涓ょ锛屼竴绉嶆槸str锛岃繕鏈変竴绉峌nicode锛岃繖閲屽睍鐜扮殑灏辨槸Unicode瀛楃涓诧紝鍦≒ython3涓凡鍙栨秷銆傛槸涓€涓ソ鍚冪殑楦¤倠銆備笉鐢ㄥお鍦ㄦ剰锛屽鏋滀互鍚庨渶瑕佹搷浣滃畠锛屼細鍦ㄦ紨绀哄浣曞幓浣跨敤

濡傛灉鏄姹備綋鐨勬暟鎹笉鏄〃鍗曟牸寮忕殑锛堝json鏍煎紡锛夛紝鍙互閫氳繃request.data鑾峰彇

from flask import Flask, request
app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    # 濡傛灉鏄姹備綋鐨勬暟鎹笉鏄〃鍗曟牸寮忕殑锛堝json鏍煎紡锛夛紝鍙互閫氳繃request.data鑾峰彇
    json_data = request.data
    return 鈥?/span>json_data = %s鈥?/span> % json_data

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

鎶€鏈浘鐗? src=

 POST璇锋眰鏂瑰紡涔熸槸鍙互鍦ㄥ湴鍧€鏍忛噷浼犻€掑弬鏁扮殑锛屾牸寮忥細192.168.3.20:5000/index?age=30&city=harbin

from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/index鈥?/span>, methods=[鈥?/span>GET鈥?/span>, 鈥?/span>POST鈥?/span>])
def index():
    # args鏄敤鏉ユ彁鍙杣rl涓殑鍙傛暟锛堟煡璇㈠瓧绗︿覆锛?/span>
    age = request.args.get(鈥?/span>age鈥?/span>)
    city = request.args.get(鈥?/span>city鈥?/span>)
    return 鈥?/span>age : %s, city : %s鈥?/span> % (age, city)

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

鎶€鏈浘鐗? src=

涓€涓笉閲嶈鐨勬敞鎰忥細杩樻湁寰堝鎺ュ彈鏂规硶浼氬湪蹇呰鐨勬椂鍊欏紩鍏?/span>

 

 

涓婁紶鏂囦欢


鐢‵lask澶勭悊鏂囦欢涓婁紶闈炲父鐨勭畝鍗曪紝鍙渶瑕侀€氳繃涓€涓猻ave()鏂规硶锛屽氨鍙互鎶婃枃浠朵繚瀛樺埌鏈嶅姟鍣ㄧ殑鏂囦欢绯荤粺涓紝褰撶劧杩欎篃鏄竴涓潪甯稿嵄闄╃殑鎿嶄綔锛屼箣鍚庝細鏈変粙缁嶏紝宸蹭笂浼犵殑鏂囦欢浼氬瓨鍌ㄥ湪鍐呭瓨鎴栨枃浠剁郴缁熶腑涓€涓复鏃剁殑浣嶇疆锛屼綘鍙互閫氳繃璇锋眰瀵硅薄鐨刦iles灞炴€ф潵璁块棶浠栦滑锛屾瘡涓€涓笂浼犵殑鏂囦欢閮戒細瀛樺偍鍦ㄨ繖涓瓧鍏镐腑锛屽畠璺烶ython涓殑file瀵硅薄鍩烘湰涓€鑷淬€備綘涔熷彲浠ラ€氳繃Python鐨勬柟娉曟潵澶勭悊鏂囦欢鍐欏叆鍒版湰鍦扮殑鏂规硶鏉ュ畬鎴愯繖涓搷浣?/span>

杩欓噷鎴戜滑渚濈劧浣跨敤Postman鏉ュ畬鎴愯繖涓姹傦紝浣嗘槸濡傛灉浣犱娇鐢ㄧ殑鏄痟tml椤甸潰锛屼竴瀹氳纭繚鍦℉TML琛ㄥ崟涓缃?tt class="docutils literal">enctype="multipart/form-data" 灞炴€э紝涓嶇劧浣犵殑娴忚鍣ㄦ牴鏈笉浼氬彂閫佽繖涓枃浠讹紝鎴戜滑杩樻槸鍏堟潵瀹屾垚鍚庡彴鐨勪唬鐮侊細

from flask import Flask, request

app = Flask(__name__)

@app.route(鈥?/span>/鈥?/span>, methods=[鈥?/span>POST鈥?/span>])
def upload():
    # 浣跨敤files灞炴€ф潵璁块棶淇濆瓨鍦ㄥ唴瀛樹腑鎴栬€呮枃浠剁郴缁熶腑涓€涓复鏃剁殑浣嶇疆鐨勮繖涓笂浼犳枃浠?/span>
    file_obj = request.files.get(鈥?/span>pic鈥?/span>)
    # 浣跨敤save鏂规硶鏉ヤ繚瀛樺垰鍒氳幏鍙栫殑涓婁紶鏂囦欢
    file_obj.save(鈥?/span>/home/python/鍥剧墖/upload.jpg鈥?/span>)
    return 鈥?/span>鏂囦欢涓婁紶瀹屾瘯鈥?/span>

if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

鎶€鏈浘鐗? src=

鎶€鏈浘鐗? src=

缁欎綘浠睍绀轰竴涓嬩笂浼犵殑鍥剧墖锛屽睂涓濇皵璐ㄦ毚闇叉棤閬楋紝鍝堝搱鍝?/h1>

鎶€鏈浘鐗? src=

鍙互鐪嬪嚭鍦‵lask涓笂浼犱竴涓枃浠剁湡鐨勫緢绠€鍗曪紝鎺ヤ笅鏉ワ紝鎴戜滑灏辫璁轰负浠€涔堢洿鎺ヤ娇鐢╯ave()鏂规硶浼氬緢鍗遍櫓锛岃€屼笖鎴戝湪瀹樻柟鎻愪緵鐨勬枃妗d腑鎵惧埌涓€涓潪甯稿ソ鐨勮В鍐虫柟妗堬紝鍙互鐮旂┒涓€涓嬶紝瀹炲湪鐪嬩笉鎳備篃鏄棤鎵€璋撶殑銆傛枃浠朵笂浼犵殑鍩烘湰姒傚康瀹炵幇涓婇潪甯哥畝鍗曪紝娴佺▼鏄細

  1. <form> 鏍囩涓湁瀹氫箟涓€涓?nbsp;enctype=multipart/form-data 锛屽苟涓斿湪閲岄潰鍖呭惈涓€涓?nbsp;<input type=file> 鏍囩銆?/h2>

  2. 鏈嶅姟绔簲鐢ㄩ€氳繃璇锋眰瀵硅薄涓婄殑 files 瀛楀吀璁块棶鏂囦欢銆?/h2>

  3. 浣跨敤鏂囦欢鐨?nbsp;save() 鏂规硶灏嗘枃浠舵案涔呭湴淇濆瓨鍦ㄦ枃浠剁郴缁熶笂鐨勬煇澶勩€?/h2>

杩欐牱灏卞畬鎴愪簡锛屼絾鏄綘姘歌繙閮芥棤娉曚繚璇佸湪娴忚鍣ㄨ闂綘缃戠珯鐨勯偅涓汉锛屼笉鎯虫悶浜涗簨鎯咃紝姣斿XSS闂鐨凥TML鏂囦欢(璺ㄧ珯鑴氭湰鏀诲嚮銆怷SS銆?锛屾墍浠ユ垜浠闄愬埗涓婁紶鏂囦欢鐨勫悗缂€锛屾潵灏介噺淇濊瘉涓嶈浼犲叆涓€浜涜剼鏈枃浠舵垨鑰呭埆鐨勪粈涔堜笢瑗裤€?/h1>
# coding:utf-8
# request涓寘鍚簡鍓嶇鍙戦€佽繃鏉ョ殑鎵€鏈夎姹傛暟鎹?/span>
from flask import Flask, request
from werkzeug import secure_filename
import os

# 瀛樺偍涓婁紶鏂囦欢鐨勮矾寰?/span>
UPLOAD_FOLDER = 鈥?/span>/home/python/鍥剧墖/鈥?/span>
# 鍏佽鐨勬枃浠剁被鍨?/span>
ALLOWED_EXTENSIONS = set([鈥?/span>txt鈥?/span>, 鈥?/span>pdf鈥?/span>, 鈥?/span>png鈥?/span>, 鈥?/span>jpg鈥?/span>, 鈥?/span>jpeg鈥?/span>, 鈥?/span>gif鈥?/span>])

app = Flask(__name__)
# 灏嗚矾寰勬坊鍔犲埌閰嶇疆涓?/span>
app.config[鈥?/span>UPLOAD_FOLDER鈥?/span>] = UPLOAD_FOLDER


# 鐢ㄦ潵楠岃瘉鐢ㄦ埛涓婁紶鐨勬枃浠舵槸鍚︽槸鍏佽鐨?/span>
def allowed_file(filename):
    # 鍒ゆ柇鏂囦欢涓槸鍚︽湁. and 鐢?鍙埅鍙?娆℃枃浠跺悕寰楀埌鐨勪竴涓垪琛紝閫夋嫨鍒楄〃绗簩涓€肩湅鏄惁灞炰簬琚厑璁哥殑鏂囦欢绫诲瀷
    return 鈥?/span>.鈥?/span> in filename and filename.rsplit(鈥?/span>.鈥?/span>, 1)[1] in ALLOWED_EXTENSIONS


@app.route(鈥?/span>/鈥?/span>, methods=[鈥?/span>POST鈥?/span>])
def upload():
    # 浣跨敤files灞炴€ф潵璁块棶淇濆瓨鍦ㄥ唴瀛樹腑鎴栬€呮枃浠剁郴缁熶腑涓€涓复鏃剁殑浣嶇疆鐨勮繖涓笂浼犳枃浠?/span>
    file_obj = request.files.get(鈥?/span>pic鈥?/span>)
    # 鍒ゆ柇鐢ㄦ埛鏄惁涓婁紶浜嗘枃浠?鍜?鏂囦欢鏄惁鏄厑璁哥殑绫诲瀷
    if file_obj and allowed_file(file_obj.filename):
        filename = secure_filename(file_obj.filename)
        file_obj.save(os.path.join(UPLOAD_FOLDER, filename))
        return 鈥?/span>鏂囦欢涓婁紶瀹屾瘯鈥?/span>
    else:
        return 鈥?/span>鏂囦欢涓婁紶澶辫触鈥?/span>
    
    
if __name__ == 鈥?/span>__main__鈥?/span>:
    app.run(host=鈥?/span>0.0.0.0鈥?/span>, debug=True)

閫氳繃Postman涓婁紶涓€涓甫鏈夊浘鐗囩殑璇锋眰锛岃繖閲屾垜浠噸鏂颁笂浼犱簡涓€涓埆鐨勬枃浠?/h2>

鎶€鏈浘鐗? src=

鎶€鏈浘鐗? src=

杩欓噷鐪嬪嚭涓婁紶鏂囦欢鏄病鏈夐棶棰樼殑锛岀幇鍦ㄦ垜浠潵娴嬭瘯涓€涓嬪鏋滀笂浼犱竴涓笉琚厑璁哥殑鏂囦欢绫诲瀷锛屾槸鍚︿細甯垜浠樆鎷?/h2>

鎶€鏈浘鐗? src=

杩欓噷灏卞彲浠ラ樆鎷︽垜浠笉鎯崇湅鍒扮殑鏂囦欢琚笂浼狅紝濡傛灉鏈変汉鎯抽棶锛屾枃浠堕噷鍖呭惈寰堝.浼氫笉浼氳闃绘嫤锛岀瓟妗堟樉鐒舵槸涓嶄細锛屽彧瑕佹槸鍦ㄥ厑璁哥殑绫诲瀷閲岋紝閮芥槸鍙互涓婁紶鐨勶紝鍥犱负rsplit()鏄粠瀛楃鐨勬渶鍚庨潰寮€濮嬫埅鍙栫殑锛岃€屼笖璁剧疆浜嗗彧鎴彇涓€娆?nbsp;rsplit(鈥?鈥? 1) 銆愭敞閲?.浠h〃鐢?鎴彇锛?浠h〃鎴彇1娆°€?/span>

 

以上是关于Flask-1-04-Request的主要内容,如果未能解决你的问题,请参考以下文章