Pasos para crear un campo archivo de carga utilizando Ext JSarchivo de carga utilizando Ext JS
Respuesta
Si nos fijamos en los ejemplos disponibles en www.ExtJS.com, encontrará this one.
Aunque está basado en la carga de archivos HTML estándar, al igual que this answer sugiere.
Por lo pasos específicos se refiere, utilizando la funcionalidad soportada en ExtJS 3x, su mejor mejor es utilizar este módulo/plugin:
http://dev.sencha.com/deploy/dev/examples/form/file-upload.html
El guión básico viene con el paquete de Ext JS, en su archivo HTML principal (donde se ha vinculado a los guiones núcleo Ext), en la sección de la cabeza después de que sus otros scripts puso:
<script type="text/javascript" src="nameofyourextfolder/examples/ux/fileuploadfield/FileUploadField.js"></script>
Lamentablemente, no hay una enorme cantidad de documentación sobre este elemento de Ext JS-sin embargo para básico funcionalidad, puede crear un formulario con un campo de carga asincrónica mediante el siguiente:
myuploadform= new Ext.FormPanel({
fileUpload: true,
width: 500,
autoHeight: true,
bodyStyle: 'padding: 10px 10px 10px 10px;',
labelWidth: 50,
defaults: {
anchor: '95%',
allowBlank: false,
msgTarget: 'side'
},
items:[
{
xtype: 'fileuploadfield',
id: 'filedata',
emptyText: 'Select a document to upload...',
fieldLabel: 'File',
buttonText: 'Browse'
}],
buttons: [{
text: 'Upload',
handler: function(){
if(myuploadform.getForm().isValid()){
form_action=1;
myuploadform.getForm().submit({
url: 'handleupload.php',
waitMsg: 'Uploading file...',
success: function(form,action){
msg('Success', 'Processed file on the server');
}
});
}
}
}]
})
Lo que este código va a hacer es crear un nuevo FormPanel con un campo de subida y un botón de subida. Al hacer clic en el botón de carga, el archivo seleccionado se enviará a la secuencia de comandos del servidor handleupload.php (o como se llame). Es entonces este script el que maneja lo que quiere hacer con el archivo. Un ejemplo de esto podría ser potencialmente:
$fileName = $_FILES['filedata']['name'];
$tmpName = $_FILES['filedata']['tmp_name'];
$fileSize = $_FILES['filedata']['size'];
$fileType = $_FILES['filedata']['type'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc()){
$fileName = addslashes($fileName);
}
$query = "INSERT INTO yourdatabasetable (`name`, `size`, `type`, `file`) VALUES ('".$fileName."','".$fileSize."', '".$fileType."', '".$content."')";
mysql_query($query);
Que inyectaría el archivo en una base de datos SQL. Lo que hay que recordar es que el archivo del lado del servidor maneja una carga al igual que un formulario HTML normal ...
Espero que esto ayude!
establecer la identificación solo dará como resultado que el nombre de la matriz $ _FILES sea el mismo que el ID. Si necesita usar algo más, configure la opción de configuración de nombre y lo usará en su lugar.
items: {
xtype: 'form',
border: false,
bodyStyle: {
padding: '10px'
},
items: {
xtype: 'multifilefield',
labelWidth: 80,
fieldLabel: 'Choose file(s)',
anchor: '100%',
allowBlank: false,
margin: 0
}
},
Demostración en directo de ExtJS 4.2.2 es here
- 1. Ext JS soporte de internacionalización
- 2. request.xhr undefined en Ext JS
- 3. EXT Js Solicitud ajax síncrona
- 4. Campo dependiente en EXT JS
- 5. Ext JS Message Box Position
- 6. Smart Client vs Ext JS
- 7. Comparando YUI y Ext JS
- 8. Ext JS en el evento click
- 9. Uso de Ext JS en ASP.NET
- 10. tratando de atrapar estado 302 Ext JS
- 11. Ext JS 4: ¿De qué sirve?
- 12. Cuál es la diferencia entre la biblioteca EXT-JS, EXT-CORE, EXT-GWT
- 13. ¿Hay variables globales en EXT JS
- 14. ¿Todo está en Ext js blue?
- 15. Ext Js: haga clic en un botón
- 16. carga jQuery en otro archivo js
- 17. Celdas de cuadrícula Word-wrap en Ext JS
- 18. Auto-size Ext JS Ventana basada en contenido, hasta maxHeight
- 19. Ext JS tener una columna de botones de radio
- 20. ext js - Enlace de ColumnModel a un objeto json complejo
- 21. Carga diferida en Knockout JS
- 22. Dónde está el paquete Ext JS 4 ux
- 23. La mejor herramienta para compilar aplicaciones Sencha (Ext JS) es?
- 24. Ext JS pregunta xtemplate - compruebe si existe campo
- 25. En una aplicación Ext JS 4 MVC, ¿cuál debería ser el responsable de cargar las tiendas?
- 26. Ext GWT vs GWT-EXT
- 27. HTTP 415 en el archivo de carga utilizando el jersey
- 28. Cómo establecer una carga de archivo mediante programación utilizando Paperclip
- 29. cómo hacer archivo de carga utilizando jQuery serialización
- 30. archivo de carga utilizando NodeJS y ganglios formidable
¿Usted intentó el ejemplo que lugares aquí? – Eugene
Claro, lo tengo en implementaciones de trabajo ... tendrá que hacer algunos ajustes para su código, pero definitivamente funciona. ¿Con qué parte estás teniendo problemas? – SW4
La parte donde los objetos se oponen 'xtype: 'fileuploadfield'' tiene que tener la opción' name:' filedata''. Como esta opción se usa en la matriz '$ _FILES', no en' id: 'filedata''. – Eugene