Me encontré con un problema similar en el que quería subir una imagen a través de solicitud AJAX tan pronto como el usuario navegaba/seleccionaba la imagen y actualizaba un campo oculto con ID de imagen guardada. No pude encontrar la solución con bootstrap-fileupload.js. Así que por debajo del enfoque funcionó para mí. Forma
<script type="text/javascript" src="http://malsup.github.com/jquery.form.js"></script>
<script type="text/javascript">
var options = {
success: showResponse // post-submit callback
};
$(document).ready(function()
{
$('#photoimg').live('change', function()
{
$("#imageform").ajaxForm(options).submit();
});
});
function showResponse(responseText, statusText, xhr, $form) {
$('#photoUrl').val(responseText);
}
</script>
la imagen: (no debe ser una forma anidada!)
<form id="imageform" action="${pageContext.request.contextPath}/app/upload/saveimage" method="post" enctype="multipart/form-data">
<div style="top: 25px">
<div class="span6" style="margin-top: -545px; margin-left:680px">
<div class="control-group">
<label class="control-label " style="text-align: left">Photo: </label>
<div data-fileupload="image" class="fileupload fileupload-new">
<div style="margin-left:-235px ;width: 150px; height: 150px; line-height: 150px;" class="fileupload-preview thumbnail" ></div>
<div>
<span class="btn btn-file" style="margin-right: 135px"><span class="fileupload-new" >Select image</span><span class="fileupload-exists">Change</span><input type="file" name="fileData" id="photoimg"/></span> <a data-dismiss="fileupload" class="btn fileupload-exists" href="#" style="margin-left: -75px">Remove</a>
</div>
</div>
</div>
</div>
</div>
</form>
<input type="hidden" name="individualCustomer.personInfo.photoUrl" id="photoUrl" />
Thx por la recomendación. Me gusta la función de vista previa de boostrap-fileupload.js y es por eso que estaba tratando de encontrar una manera de desencadenar el evenf desde este js. Apreciar la respuesta, pero ya sabía de jquery-file-upload. –
No veo cómo esto es posible. Si observa el origen de jasny utiliza el mismo nombre para la función jquery utilizada por jquery.fileupload (ambos se llaman $ .fileupload). Por lo tanto, será difícil usarlos a los dos juntos. –