Я слежу за этим сообщением в блоге http://blog.notdot.net/2010/04/Implementing-a-dropbox-service-with-the-Blobstore-API-part-3-Multiple-upload-support где подробно описано, как использовать plupload с google appengine и api blobstore. Мне интересно, как добавить настраиваемое поле в загрузку. Я изменил тип enc на multipart / form-data
<form method="POST" enctype="multipart/form-data">
<select id="adventure" name="adventure">
<option value = "collection-A">Collection A</option>
<option value = "collection-A">Collection B</option>
</select>
<div id="html5_uploader">
<p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p>
</div>
</form>
Прочитав о том, что multipart не работает в документах с браузерами webkit (я использую chrome), я решил использовать версию на основе flash, а не html5, с которой я начал. Используя различные примеры и обсуждения на этом форуме, я собрал следующее.
<script type="text/javascript">
$(function() {
uploader = $("#html5_uploader").pluploadQueue({
// General settings
runtimes : 'html5',
max_file_size : '10mb',
chunk_size : '1mb',
multipart : true,
unique_names : true,
// Flash settings
flash_swf_url : '/static/plupload/plupload.flash.swf'
}).pluploadQueue();
uploader.bind('BeforeUpload', function (up, file)
{
$.extend(up.settings.multipart_params, {
'adventure': $('#adventure').val()
});
});
uploader.bind('UploadFile', function(up, file) {
$.ajax({
url: '/generate_upload_url',
async: false,
success: function(data) {
up.settings.url = data;
},
});
});
})
</script>
На стороне загрузки файлов все работает, однако параметры полей выбора не отправляются и:
self.request.get("adventure")
ничего не подбирает на стороне сервера. Я использую самую последнюю версию plupload (а не измененную версию Ника).
?param=value
), но при необходимости их нужно избегать. По сути, вместо того, чтобы отправлятьhttp://some.url/for/upload
, вы отправляетеhttp://some.url/for/upload?param=value
. Возможно, вы сможете сделать это через api plupload ... - person Laur Ivan   schedule 15.02.2012