2016-07-25 2 views
1

Я бы хотел отправить некоторую контекстную информацию вместе с загружаемым файлом, так как у меня есть несколько областей загрузки на странице и вы хотите связать каждую загрузку с областью, которая была использована для загрузки. Опция beforeSend доступна, но все, что я в этой функции является фактическим file объект и formData объект, который я поставил дополнительные данные.Formstone upload - get upload context

Как я могу знать, какие загрузки площадь была нажата? Я хочу отправить эту информацию на сервер.

ответ

1

Это, безусловно, проблема с текущей реализацией. Лучший способ решить это сегодня было бы указать другой beforeSend обратного вызова для каждого экземпляра загрузки:

$(".upload_one").upload({ 
    beforeSend: preprocessUploadOne 
}); 

$(".upload_two").upload({ 
    beforeSend: preprocessUploadTwo 
}); 

// etc.. 

Каждая функция предобработки может затем подготовить formData уникальным способом (или собрать соответствующие данные и передать его вместе с одна функция подготовки, пока вы возвращаете объект formData с каждого шага).

В зависимости от того, как ваши сценарии структурированы, вы также можете ссылаться на эти отдельные глобальные обратные вызовы с вариантами встроенных данных, что позволяет продолжать использовать один инстанцирования вызов:

<div class="upload" data-upload-options='{"beforeSend":preprocessUploadOne}'></div> 

<div class="upload" data-upload-options='{"beforeSend":preprocessUploadTwo}'></div> 

Я также открыть вопрос для более эффективного решения этой проблемы в будущем выпуске.

+0

Спасибо! Это было бы отличным дополнением к плагину. Я посмотрю, смогу ли я сделать это предложение, так как области загрузки динамически добавляются на страницу, что усложняет ситуацию. – Apeksha

+0

Я закончил тем, что добавил какой-то пользовательский код в плагин, чтобы определить область, на которую была нажата кнопка. – Apeksha

+1

Версия 1.2.1 была выпущена вчера. Теперь переменная 'this' будет привязана к компоненту в обратном вызове' beforeSend'. – benplum