Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, preciso fazer um upload de arquivo. Estou tentando o MeioUpload mas não estou tendo sucesso.
Quando eu clico em upload nada acontece...
ele não salva no bd nem cria o arquivo, a unica coisa foi que ele criou a pasta.
Meu model:
<?php
class Solicitation extends AppModel {
public $name = 'Solicitation';
var $useTable = 'images';
var $actsAs = array(
'MeioUpload.MeioUpload' => array('filename')
);
}
?>
Minha view:
<?php
echo $this->Form->create('Solicitation', array('type' => 'file'));
echo $this->Form->input('filename', array('type' => 'file'));
echo $this->Form->input('dir', array('type' => 'hidden'));
echo $this->Form->input('mimetype', array('type' => 'hidden'));
echo $this->Form->input('filesize', array('type' => 'hidden'));
echo $this->Form->end('Submit');
?>Olá, obrigado pela resposta.
Sim, estou usando esse plugin:
O que fiz foi:
baixei, criei uma pasta Plugin/MeioUpload e descompactei os arquivos lá.
Peguei o Behavior e coloquei na pasta Model/Behavior
E o meu Model e minha view estão como mandei...
a única coisa que ele faz é criar as pastas.
Cara eu particularmente não gostei do MeioUpload sei que minha opinião pode equivaler o mesmo que bosta hehehe, mas eu achei que ele é muita coisa para uma coisa simples, um upload de imagens.
Eu criei um componente, para fazer upload de arquivos de uma olhada quem sabe te atende Github
Ele é bem simples e me atende tranquilamente, se tiver alguma dúvida é só dar um grito no issues. :thumbsup:
Olá william.
Não consegui implantar seu componente.
A documentação nao foi suficiente para eu conseguir.
Pode me ajudar?
Se você estiver interessado, ajudo a dar continuidade ao seu componente, que parece otimo...
Te mandei MP.
Abc
Opa, qual é a dúvida?
E fique a vontade para contribuir. Basta fazer um fork, e enviar os pull requests
William, bom dia.
Segue como estao meus arquivos
controller
<?php
class SolicitationsController extends AppController {
public $helpers = array ('Html','Form');
public $name = 'Solicitations';
function solicitacao() {
if ($this->request->is('post')) {
// invoca o component e o metodo, passando o tmp_name e tudo
$upload = $this->Upalod->upload($this->request->data['Solicitation']['filename']);
// Você recebe em um array o status e o nome da imagen
if ($upload['status']) {
$this->request->data['Solicitations']['filename'] = $upload['nome'];
$this->Model->cerate();
} else {
}
}
}
}
?>
a view:
<fieldset>
<?php
echo $this->Form->create('Solicitation', array('type' => 'file'));
echo $this->Form->input('filename', array('type' => 'file'));
echo $this->Form->input('dir', array('type' => 'hidden'));
echo $this->Form->input('mimetype', array('type' => 'hidden'));
echo $this->Form->input('filesize', array('type' => 'hidden'));
echo $this->Form->end('Submit');
?>
</fieldset>
Obrigado
Ok polloooo, mas onde você configurou o componente?
Lembre-se que você tem que adicionar o componente em seu controller veja na documentação Configuring Components
E também esta faltando código ai, o componente apenas valida e faz o upload da imagem para o seu diretório, depois você tem que salvar isto em seu banco a não é mais responsabilidade dele.
<?php
...
//Aqui é o nome de seu Model no caso Solicitation
$this->Model->cerate();
//apos este código, você tem mais trabalho tem que salvar seu dados no banco de dados.
//Isto não é tarefa para um component exemplo:
... if ($this->Socicitation->save($this->request-data)) { ...
// e por ai vai. Se esta com dificuldades nesta parte, aconselho de de uma lida no tutorial que o cake fornece para nós link abaixo
...
?>
William, obrigado. Consegui fazer o upload e salvar o nome do arquivo no db, já que ele me retorna o nome.
Porém, nao estou conseguindo fazer com que ele retorne os outros dados do arquivo.
Obrigado.
Como assim outros dados? O que exatamente você quer pegar?
Gostaria de pegar o qual é o tipo de arquivo (jpg, bsp, gif, etc) e salvar no banco.
Ta bom vamos la! :pinch:
Não vou deixar você não mão, mas para esta pergunta gostaria que você colaborasse. Quando você faz um upload de um arquivo, você sabe quais atributos vem no campo tipo file?
Se não então vamos estudar aqui
Opa. Obrigado pela paciencia.
Sei sim, mas nao entendi ainda...kkkkkk
Desculpa pela minha dificuldade, ainda sou um pouco perdido com o cake e com orientação a objetos.
Vlwww
Sem problemas, estamos aqui para ajudar, mas costumo dar somente o mapa, não o caminho inteiro. Leia o conteúdo deste link por favor
Você está usando esse Plugin, seguindo os mesmos passos?
https://github.com/jrbasso/MeioUpload/tree/75a12108e6c2606290084c1ec6fe5a9575d74301