Duvida com Jquery File Upload - Curso Flávio Tomazio

13/07/2014

0

PHP

Boa tarde a todos, estou com uma dúvida que é a seguinte:
Estou seguindo o curso de Codeignator do Flávio Tomazio - Fazendo uma loja virtual e tem a parte de upload de imagens utilizando o Jquery File Upload.

No curso ele permite fazer multiplo upload, mas estou com o seguinte problema:
Quero fazer o upload de apenas uma imagem (Ja tirei o multiple = "multiple" ) e ele permite escolher apenas uma imagem como eu preciso, porém apos eu clicar em ok e clicar em Arquivo novamente, ele me permite escolher novamente outro arquivo, fazendo assim o upload de 2 imagens ou quantas eu escolher.

Alguém da cominidade ou o Flávio poderia me dar um exemplo de como bloquear para escolher apenas uma imagem?

Segue o codigo do meu formulario de upload:

<legend>
Upload Logomarca:  - ( ID -  )
	<div class="pull-right">
 		<a href="" title="Listar produtos" class="btn">Listar</a>
	</div>
</legend>
<form id="frm-upload-foto" action="" method="post" enctype="multipart/form-data">
	<input type="hidden" name="codempresa" value="">
	<div class="row fileupload-buttonbar">
		<div class="col-md-7">
			<span class="btn btn-success fileinput-button">
				<span class="glyphicon glyphicon-plus"></span>
				<span>Imagens</span>
				<input type="file" name="fotos[]">
			</span>
			<button type="submit" class="btn btn-primary start">
				<span class="glyphicon glyphicon-upload"></span>
				<span>Iniciar Upload</span>
			</button>
			<button type="submit" class="btn btn-warning calcel">
				<span class="glyphicon glyphicon-remove"></span>
				<span>Cancelar Upload</span>
			</button>
			<button type="submit" class="btn btn-danger delete">
				<span class="glyphicon glyphicon-trash"></span>
				<span>Excluir</span>
			</button>
			Marcar Todos <input type="checkbox" class="toggle">
			<span class="fileupload-loading"></span>
		</div>
		<div class="col-md-5">
			<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
				<div class="progress-bar progress-bar-success" style="width:0%"></div>
			</div>
			<div class="progress-extended"> </div>
		</div>
	</div>
	<table role="presentation" class="table table-table-striped">
		<tbody class="files">
		</tbody>
	</table>
</form>
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade">
        <td>
            <span class="preview"></span>
        </td>
        <td>
            <p class="name">{%=file.name%}</p>
            {% if (file.error) { %}
                <div><span class="label label-danger">Error</span> {%=file.error%}</div>
            {% } %}
        </td>
        <td>
            <p class="size">{%=o.formatFileSize(file.size)%}</p>
            {% if (!o.files.error) { %}
                <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div>
            {% } %}
        </td>
        <td>
            {% if (!o.files.error && !i && !o.options.autoUpload) { %}
                <button class="btn btn-primary start">
                    <i class="glyphicon glyphicon-upload"></i>
                    <span>Enviar</span>
                </button>
            {% } %}
            {% if (!i) { %}
                <button class="btn btn-warning cancel">
                    <i class="glyphicon glyphicon-ban-circle"></i>
                    <span>Cancelar</span>
                </button>
            {% } %}
        </td>
    </tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade">
        <td>
            <span class="preview">
                {% if (file.thumbnailUrl) { %}
                    <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="{%=file.thumbnailUrl%}"></a>
                {% } %}
            </span>
        </td>
        <td>
            <p class="name">
                {% if (file.url) { %}
                    <a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
                {% } else { %}
                    <span>{%=file.name%}</span>
                {% } %}
            </p>
            {% if (file.error) { %}
                <div><span class="label label-danger">Error</span> {%=file.error%}</div>
            {% } %}
        </td>
        <td>
            <span class="size">{%=o.formatFileSize(file.size)%}</span>
        </td>
        <td>
            {% if (file.deleteUrl) { %}
                <button class="btn btn-danger delete" data-type="{%=file.deleteType%}" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}>
                    <i class="glyphicon glyphicon-trash"></i>
                    <span>Excluir</span>
                </button>
                <input type="checkbox" name="delete" value="1" class="toggle">
            {% } else { %}
                <button class="btn btn-warning cancel">
                    <i class="glyphicon glyphicon-ban-circle"></i>
                    <span>Cancelar</span>
                </button>
            {% } %}
        </td>
    </tr>
{% } %}
</script>
Felipe Murari

Felipe Murari

Responder

Posts

13/07/2014

Marcelo Pastore

Felipe, ja tentou entrar em contato com o autor?
Responder

13/07/2014

Felipe Murari

Sim ,mandei uma mensagem para ele no curso com o link deste post hehe Obrigado
Responder

15/07/2014

Cristian Wagner

Felipe uma alternativa seria voce colocar uma condição no contro onde salva a imagem verificando se o produto do idtal já tem uma imagem cadastrada a partir de um get com uma condição e depois retornar com json um erro para o aplicativo seria uma ideia até mais..
Responder

15/07/2014

Felipe Murari

Entao cara, é até boa a idéia mas ainda nao domino muito isso, =/ creio que o proprio plugin ofereca algo mais fácil, porém nao estou encontrando =/
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar