2012-02-23 10 views
0

Flexからactionscriptから大きな画像ファイルをアップロードしたいと思います。ファイルアップロードチュートリアルhttps://docs.djangoproject.com/en/dev/topics/http/file-uploads/は、フォームからストリームファイルのアップロードを処理するので、ファイルはrequest.FILE ['name']で変換されますが、これをactionscriptに複製する方法はわかりません。私は、POST引数としてファイルを転送することも試みたが、私はエラーを取得:Actionscript(Flex)Djangoにストリーミングアップロード

in handle_uploaded_file for chunk in f.chunks(): 
AttributeError: 'unicode' object has no attribute 'chunks' 

は、それは私だけで使用する必要が私のpythonコードのエラーですrequest.FILEまたはそれは私のActionScriptの問題でしょうか?フォームなしでファイルをアップロードする適切な方法は何ですか?ここに私のActionScriptコードは次のとおりです。

var upload:URLLoader = new URLLoader(); 
var request:URLRequest = new URLRequest(UploadURL+"?var="+Math.random()); 
var sendVars:URLVariables = new URLVariables(); 
var header:URLRequestHeader = new URLRequestHeader("enctype", "multipart/form-data"); 
upload.dataFormat = URLLoaderDataFormat.BINARY; 
upload.addEventListener(Event.COMPLETE, image.uploadedEvent); 
sendVars.file = image.getBytearray(); // image is a JPEG encoded ByteArray 
request.data = sendVars; 
request.method = URLRequestMethod.POST; 
request.requestHeaders.push(header); 
upload.load(request); 

ここではDjangoの一部は次のとおりです。

def upload_file(request): 
    if request.method == 'POST': 
    handle_uploaded_file(request.POST.get('file')) 
    return HttpResponse() 

def handle_uploaded_file(f): 
    destination = open('file.dat', 'wb+') 
    for chunk in f.chunks(): 
     destination.write(chunk) 
    destination.close() 

おかげ

答えて

0

あなたは右のアップロードストリーミングはHTTPと等しくないことを理解していますか?あなたはまったくデバッグしようとしましたか?私はあなたのファイルfが完全なファイルイメージであり、最初にストリームされたことがないのでチャンクを持っていないと思います。

関連する問題