2012-01-23 15 views
1

POST辞書からfiledataを正しく取得するには、そのことを知る必要があります。

私のプロジェクトでは、Agile Uploader(サーバー側にアップロードする前にクライアント側でイメージのサイズを変更します)を使用します。サーバー上の画像を扱う例としてprocess.phpファイルがあります。このファイルには:ピラミッドのよう

$tmp_name = $_FILES["Filedata"]["file_name"];  // where "tmp_name" is file name 

FILES辞書を持っていない、私はPOSTで画像を見つける必要がありsupose。しかし、画像をアップロードしようとすると、POSTが空です...

それで、その画像を送信する方法と、サーバー側でそれを見つける方法はありますか?

HTML(そのdemoから取られたHTMLコードの大部分):

<form action="/test" method="post" id="singularDemo" enctype="multipart/form-data"> 
    <div id="single"></div> 
</form> 

<a href="#" onClick="document.getElementById('agileUploaderSWF').submit();">Submit</a> 
<script type="text/javascript"> 
    $('#single').agileUploaderSingle({ 
     submitRedirect:'', 
     formId:'singularDemo', 
     progressBarColor:'#3b5998', 
     flashVars:{ 
      firebug:true, 
      form_action:'/test' 
     } 
    }); 
</script> 

ちょうどテスト用のPython(ピラミッドコード)、 - シンプルビュー:

def test(request): 
    if request.method == 'POST': 
     pass 

    return {} 

ありがとう!

+0

あなたのHTMLとPythonコードを投稿してください。 – soulcheck

+0

@soulcheck - htmlとpythonコードが追加されました –

答えて

4

$_FILESグローバルがPOST要求が提出したファイルが含まれているので、あなたがrequest.POSTを使用してそれらにアクセスすることができます

# access the filename 
filename = request.POST['Filedata'].filename 

# access the actual file 
input_file = request.POST['Filedata'].file 

これはPHP $_FILES変数の完全に同等であるので、それが動作しない場合は、何かそれ以外は間違っているはずです。

ピラミッドの料理本は、ファイルのアップロードについてmore informationです。

関連する問題