Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

diokhan

upload

Recommended Posts

diokhan

boas,

há forma de fazer um form de upload sem o botão "procurar" que vem pré definido? ou fazer um upload de ficheiros só com um botão? eu clicava num botão escolhia o ficheiro e automaticamente fazia o upload com apenas um click 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

este dá para tudo ou só para imagens? e obrigado pela dica ;)


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

boas,

basicamente, o que eu preciso é criar um form para upload de ficheiro mas só com um click, clico num botão para pesquisar o ficheiro e quando fizer abrir automaticamente faz o upload do ficheiro, eu ando a procurar no Google mas ainda nada do que preciso


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

obrigado pela dica, vou já dar uma vista de olhos :P


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

Costumo usar este : http://valums.com/ajax-upload/

e por exemplo, como posso passar uma variável pelo action do ajax? que eu preciso passar um valor "$id" para efectuar o upload do ficheiro, que eu leio o ficheiro e faço um parse do ficheiro e guardo na tabela, mas relaciono sempre os dados com um id do projecto e passo pelo link o $id, como posso fazer por este script?

sei que é no ficheiro: ajaxupload.js

nesta linha:

window.AjaxUpload = function(button, options){
        this._settings = {
            // Location of the server-side upload script
            action: './Quality/qualityRead.php',


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

pode ser assim:

action: './Quality/qualityRead.php?id=$idProject', 

que eu coloquei assim e sempre que selecciono o ficheiro não faz nada 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

sim, é uma variável que vem do php, eu tenho assim:

include ("./Quality/fileRead.php?id=$idProject");

e no fileRead.php:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-darkness/jquery-ui.css" type="text/css" media="all" />
    <script type="text/javascript" src="./javascript/ajaxupload.js"></script>

    <style type="text/css">
        h1 {color: #C7D92C;	font-size: 18px; font-weight: 400;}
        a {	color: white;}
        a:hover, a.hover {color: #C7D92C;}
        #text {	margin: 25px; }
        ul { list-style: none; }
        .example { padding: 0 20px; float: left; width: 230px; }
	.wrapper { width: 133px; margin: 0 auto; }
	div.button {
		height: 29px;	
		width: 133px;
		background: url(./images/button.png) 0 0;
		font-size: 14px; color: #C7D92C; text-align: center; padding-top: 15px;
	}
	div.button.hover {
		background: url(./images/button.png) 0 56px;
		color: #95A226;	
	}
	#button2.hover, #button4.hover { text-decoration:underline; }
</style>

<script type="text/javascript">/*<![CDATA[*/
$(document).ready(function(){

	var button = $('#button1'), interval;

	new AjaxUpload(button, {
		action: './Quality/qualityRead.php?id=$idProject', 
		name: 'myfile',
		onSubmit : function(file, ext){
			// change button text, when user selects file			
			button.text('Uploading');

			// If you want to allow uploading only 1 file at time,
			// you can disable upload button
			this.disable();

			// Uploading. -> Uploading.. -> Uploading...
			interval = window.setInterval(function(){
				var text = button.text();
				if (text.length < 13){
					button.text(text + '.');					
				} else {
					button.text('Uploading');				
				}
			}, 200);
		},
		onComplete: function(file, response){
			button.text('Upload');

			window.clearInterval(interval);

			// enable upload button
			this.enable();

			// add file to the list
			//$('<li></li>').appendTo('#example1 .files').text(file);						
		}
	});

});/*]]>*/</script>
</head>
<body>
<ul>
<li id='example1' class='example'>
    <div class='wrapper'>
		<div id='button1' class='button'>Upload</div>
	</div>
</li>
</ul>
</body>
</html>

sei que passar variáveis entre php e ajax não é da mesma forma que php, mas eu não sei como passar a variável


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

agora desapareceu-me o boão :P

mas não é por causa desta alteração, que eu voltei a repor como estava e o botão onde deveria aparecer o upload desapareceu mesmo


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

já usei, não vi nenhum erro referente a esta situação, coloquei assim o meu código e já aparece o botão, mas não faz o que quero, ele lê o ficheiro mas não efectua o parse ao ficheiro, e eu sei que funciona porque já o tinha feito e a funcionar antes

require_once ("./Quality/fileRead.php");

assim ja aparece o botão, mas se tento passar por aqui o $idProject o botão desaparece :P


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

já separei o código, posso estar a fazer algo de errado, se eu tento passar a variável $idProject o botão desaparece, mas sem a variável mesmo depois de seleccionado o ficheiro nada faz, mas gostaria de perceber o erro para aprender algo 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

não, se eu passar a variável o botão desaparece, e mesmo no firebug não acusa erro, e se não passar a variável aparece o botão mas não faz nada ao seleccionar o ficheiro


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

eu estou a usar o exemplo deles, uso o script onde criam o botao e uso um outro ficheiro, ajaxupload.js, e neste ficheiro há esta linha:

action: './Quality/qualityRead.php?id=<?php echo $idProject; ?>',

que eu também alterei para ficar igual ao outro lado, não sei se é necessário este ficheiro mas também uso. Quanto ao resto eu não mudei quase nada 🤔


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

andei a alterar o código, agora o firebug devolve este erro do script:

if ( ! button || button.nodeType !== 1){
            throw new Error("Please make sure that you're passing a valid element"); 
        }

mas nao sei a que se refere este erro, é no ficheiro ajaxupload.js linha 287


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites
diokhan

como assim? um input type hidden por exemplo?


...Join the dark side...and get a free cookie...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.