Oi pessoal estou tentando fazer um upload com o Vraptor, bom a principio deveria ser fácil, mas não esta dando certo, se alguém poder me dar uma luz ficaria grato:
Obs.: É como se o Vraptor não “declarasse” este link/método.
Código:
@Path("/geradorDeDocumentos/enviaArquivo")
public void enviaArquivo(UploadedFile arquivo){
File picture = new File("c:\\"+arquivo.getFileName());
try {
IOUtils.copyLarge(arquivo.getFile(), new FileOutputStream(picture));
} catch (FileNotFoundException e) {
result.use(HttpResult.class).addHeader("Content-Type", "text/html").body("{'data':'"+e.getMessage()+"','success':false}");
} catch (IOException e) {
result.use(HttpResult.class).addHeader("Content-Type", "text/html").body("{'data':'"+e.getMessage()+"','success':false}");
}
result.use(HttpResult.class).addHeader("Content-Type", "text/html").body("{'success':true}");
}
Headers
Request URL:http://localhost:8080/geradorDeDocumentos/enviaArquivo
Request Method:POST
Status Code:404 Not Found
Request Headers view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:163358
Content-Type:multipart/form-data; boundary=----WebKitFormBoundary2jHSYeHxEQOBvgSf
Host:localhost:8080
Origin:http://localhost:8080
Referer:http://localhost:8080/tzion/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
Request Payload
------WebKitFormBoundary2jHSYeHxEQOBvgSf
Content-Disposition: form-data; name="arquivo"; filename="SeguroSandro.pdf"
Content-Type: application/pdf
------WebKitFormBoundary2jHSYeHxEQOBvgSf--
Response Headers view source
Content-Length:1051
Content-Type:text/html;charset=utf-8
Date:Mon, 25 Feb 2013 17:41:37 GMT
Server:Apache-Coyote/1.1
Código Extjs
{
xtype: "form",
width: 500,
frame: true,
title: 'File Upload Form',
bodyPadding: '10 10 0',
defaults: {
anchor: '100%',
allowBlank: false,
msgTarget: 'side',
labelWidth: 50
},
items: [{
xtype: 'filefield',
id: 'form-file',
emptyText: 'Selecione um arquivo',
fieldLabel: 'Photo',
name: 'arquivo',
buttonText: '',
buttonConfig: {
iconCls: 'upload-icon'
}
}],
buttons: [{
text: 'Save',
handler: function(){
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: '/geradorDeDocumentos/enviaArquivo',
waitMsg: 'Enviando seu documento...',
success: function(fp, o) {
msg('Success', 'Documento enviado "' + o.result.file + '" com sucesso');
}
});
}else{
alert("deu M");
}
}
},{
text: 'Reset',
handler: function() {
this.up('form').getForm().reset();
}
}]
}
Desde já, obrigado.