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()
おかげ