[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
StreamConsequence e preview de upload de imagem [RESOLVIDO]  XML
Forum Index -> Comentários Gerais
Author Message
spinow


[Avatar]

Joined: 22/07/2008 15:39:02
Messages: 58
Offline

Pessoal,
Estou criando um cadastro no qual o usuário escolhe uma foto para o perfil dele, na action, eu crio uma thumbnail dessa imagem e consigo jogar essa thumbnail como um StreamConsequence para uma pré-visualização da imagem reduzida, sem ter que gravar essa imagem miniatura gerada.
Até ai beleza, só que jogando como StreamConsequence, essa imagem aparece a parte. Teria como essa miniatura aparecer na própria página do formulario onde se escolhe a imagem para upload?
Estou tentando com o AjaxAnywhere, mas tá difícil, pois não consigo pegar o arquivo com "FileItem f = (FileItem)input.getValue("file");"
Também não gostaria de abrir popup...
Alguma idéia?

POWERED BY PUBLICONS.DE
spinow


[Avatar]

Joined: 22/07/2008 15:39:02
Messages: 58
Offline

Resolvido!
A quem possa interessar, ficou assim:

JSP:
Code:
 <form name="formCadastroPerfilMain" id="formCadastroPerfilMain" action="CriacaoPerfil.definirImagem.mtw" enctype="multipart/form-data" method="post">
 	Defina uma imagem para o seu perfil
 	<br/>
 	
 	<table>
 		<tr>
 			<td valign="middle" align="center">
 				<input type="file" id="imagem" name="imagem" />
 			</td>
 		</tr>
 		<tr>
 			<td>
 				<img src="<mtw:contextPath />/CriacaoPerfil.previewImagem.mtw"/>
 			</td>
 		</tr>
 		<tr>
 			<td valign="middle" align="center">
 				<input type="submit" value="carregar imagem"/>
 			</td>
 		</tr>		
 	</table>
 </form>
 


Actions (eu uso innerActions):
Code:
 
 public class CriacaoPerfil extends BaseLoginAction {
 
 	private Avatar avatar;
 
 	public String definirImagem () throws IOException {
 		FileItem objImageFile = (FileItem) input.getValue("imagem");
 		if(objImageFile != null){
 			avatar = new Avatar(objImageFile.get());
 			adhere();
 			return PREVIEW;
 		}
 		return SUCCESS;
 	} 
 
 
 	public String previewImagem () {
 		output.setValue(StreamConsequence.STREAM_KEY, avatar.getArquivo());
 		//output.setValue(StreamConsequence.CONTENT_DISPOSITION_KEY, "inline;filename=teste.png");
 		return PREVIEW;
 	} 
 }
 


ApplicationManager:
Code:
 		action(CriacaoPerfil.class, "definirImagem")
 		.on(CriacaoPerfil.PREVIEW, fwd(PathConfig.getPublicPagesPath() + "/" + strPerfilClassName + "/" + PathConfig.getPublicCreationPath() + "/" + PathConfig.getCriacaoPerfilDefinicaoImagemPage()))
 		.on(SUCCESS, fwd(PathConfig.getPublicPagesPath() + "/" + strPerfilClassName + "/" + PathConfig.getPublicCreationPath() + "/" + PathConfig.getCriacaoPerfilDefinicaoEnderecoPage()))
 		.filter(new FileUploadFilter());
 		
 		action(CriacaoPerfil.class, "previewImagem")
 		.on(CriacaoPerfil.PREVIEW, new StreamConsequence("image/png"));
 


Resumindo, eu seto em um atributo global os bytes do arquivo (avatar) e através de StickyAction (abençoado Menta...) eu pego esse arquivo na action de preview, que é acionada pela propria tag da imagem (<img src="...")
É isso! Valew pela atenção!


>

POWERED BY PUBLICONS.DE
Lobo


[Avatar]

Joined: 23/01/2006 02:17:14
Messages: 821
Location: Fortaleza-CE
Offline


Resumindo, eu seto em um atributo global os bytes do arquivo (avatar) e através de StickyAction (abençoado Menta...) eu pego esse arquivo na action de preview, que é acionada pela propria tag da imagem (<img src="...")
É isso! Valew pela atenção!
 


StickyAction - Boa abordagem spinow

Atenciosamente,
Hélio Frota
http://heliofrota.wordpress.com
Member
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team