Clientes SDK
A continuación una guía para integrar Pentafile en tus aplicaciones

SDK Javascript

A continuación cargar la librería de Pentafile
1
<script src="https://static.pentafilestore.com/pentafile.1.0.0.min.js"></script>
Copied!
Recomendamos inicializar la variable una vez y asociar al window para posteriormente solo invocar la variable.
1
<script type="text/javascript">
2
var pentafile = new pentafile("repoKey");
3
window.pentafile = pentafile;
4
</script>
Copied!
A continuación vemos los métodos disponibles y los resultados esperados
1
/** Subir archivos con la UI de pentafile
2
- Por defecto la API toma esos valores en la configuración
3
Para configurar, se debe seguir la siguiente estructura
4
allowedTypes: default '*'
5
- 'images/*'
6
- 'images/png,image/jpeg'
7
- 'application/pdf'
8
maxFileSize : default -1 (ilimitado)
9
- 0.5* 1024 * 1024 // 512 KB
10
- 1 * 1024 * 1024 // 1 MB
11
- 10 * 1024 * 1024 // 10 MB
12
- 1 * 1024 * 1024 * 1024 // 1 GB
13
crop_square:
14
- true // Muestra crop de imagenes
15
- false // Oculta Crop de imagenes
16
crop_circle:
17
- true // Muestra crop circular de imagenes, default true
18
- false // Oculta Crop circular de imagenes
19
crop_rotate:
20
- true // Muestra crop girar imagen, default true
21
- false // Oculta crop girar imagen
22
Las variables que comienzan con txt_*, son mensajes perzonalizables.
23
*/
24
function uploadFileUI() {
25
config: {
26
allowedTypes: '*',
27
maxFileSize: 10 * 1024 * 1024,
28
crop_square: true,
29
crop_circle: true,
30
crop_rotate: true,
31
txt_popup: 'Cargar archivo',
32
txt_file_upload: 'Arrastre o Seleccione el archivo a cargar',
33
txt_button_save: 'Guardar',
34
txt_button_upload: 'Subir',
35
txt_message_error: 'Se ha producido un erroe en el sistemaa, coordinar con TI'
36
},
37
pentafile.uploadFileUI({
38
start: function (file) {
39
console.log('start', file);
40
},
41
success: function (record) {
42
$("#field_upload1_key").val(record.key);
43
console.log(record);
44
$("#msm_result").html(JSON.stringify(record));
45
},
46
error: function (error) {
47
console.log('error', error);
48
}
49
});
50
}
51
52
/* Cargar el archivo con la API, sin UI */
53
pentafile.uploadFile($('#file_1'), {
54
start: function (file) {
55
console.log('start', file);
56
},
57
progress: function (progress) {
58
console.log("upload progress: " + Math.round(progress) + "%");
59
},
60
success: function (record) {
61
console.log(record);
62
},
63
error: function (error) {
64
console.log('error', error);
65
}
66
});
67
68
/* Descargar el archivo */
69
var fileKey="";
70
pentafile.downloadFile(fileKey, {
71
error: function (error) {
72
console.log('error', error);
73
}
74
});
75
76
/* Ver información del archivo */
77
pentafile.infoFile(fileKey, {
78
success: function (record) {
79
console.log('success', record);
80
},
81
error: function (error) {
82
console.log('error', error);
83
}
84
});
85
/* Eliminar archivo */
86
pentafile.deleteFile(fileKey, {
87
success: function (record) {
88
console.log('success', record);
89
},
90
error: function (error) {
91
console.log('error', error);
92
}
93
});
Copied!

Parametros configurables

key

Identificador único del archivo proporcionado por el usuario, ejemplo (miarchivo.jpg,xmls/factura.pdf,etc)
Valores por defecto
    Generación de nombre de archivo es aleatorio de 32 letras (UUID)
    Tamaño de archivo máximo 10 MB
    Texto de mensaje por defecto
A continuación se puede configurar los parámetros de "config"
1
/** Cargar archivo con UI y configuración **/
2
pentafile.uploadFileUI({
3
config: {
4
allowedTypes: '*',
5
maxFileSize: 10 * 1024 * 1024,
6
crop_square: true,
7
crop_circle: true,
8
crop_rotate: true,
9
txt_popup: 'Cargar archivo',
10
txt_file_upload: 'Seleccione el archivo',
11
txt_button_save: 'Guardar',
12
txt_button_upload: 'Subir',
13
txt_message_error: 'Se ha producido un error en el sistema',
14
random: false,
15
folder: 'myfolder'
16
}
17
start: function (file) {
18
console.log('start', file);
19
},
20
success: function (record) {
21
console.log("success record ",record);
22
},
23
error: function (error) {
24
console.log('error', error);
25
}
26
});
27
28
/** Cargar el archivo con la API, sin UI **/
29
pentafile.uploadFile(document.getElementById('file_1'), {
30
config: {
31
random: false,
32
folder: 'myfolder'
33
},
34
start: function (file) {
35
console.log('start', file);
36
},
37
progress: function (progress) {
38
console.log("upload progress " + Math.round(progress) + "%");
39
},
40
success: function (record) {
41
console.log("success record ",record);
42
},
43
error: function (error) {
44
console.log('error', error);
45
}
46
});
Copied!
Los campos que devuelve son los mismos de la explicación anterior (Descripción e Campos).

handle

A continuación un ejemplo complejo con la integración de Pentafile en Javascript aquí.

SDK Java

Para Integrar en Java, se debe realizar lo siguiente.
Agregar la siguiente dependencia maven al pom.xml de tu proyecto
1
<!-- Pentafile On Premise maven dependency -->
2
<dependency>
3
<groupId>com.pentafile</groupId>
4
<artifactId>pentafile-jdk-java</artifactId>
5
<version>1.0.0</version>
6
</dependency>
Copied!
y agregar la referencia al repositorio de artefactos
1
<repositories>
2
<repository>
3
<id>pentafile-release</id>
4
<url>http://developer.sotechcloud.com/archiva/repository/pentafile-release/</url>
5
</repository>
6
</repositories>
Copied!
Ahora debes descargar el código de ejemplo de implementación de los métodos del cliente de Pentafile, descargar en github

SDK PHP

Para integrar en tu proyecto PHP, solo se debe agregar el directorio /pentafile/pentafile.php y agregar como requerido, para el funcionamiento es requerido solo el archivo pentafile.php, de este modo se adapta a cualquier Framework y proyecto PHP.
A continuación se expone el bloque de código con la implementación de referencia.
1
<?php
2
3
/**
4
* Ejemplo de Integración de Pentafile SDK for PHP
5
* www.pentafile.com
6
*/
7
require './Pentafile.php';
8
9
/**
10
* Instancia de la variable PENTAFILE
11
*/
12
$PentafileAPI = new Pentafile("http://IP-SERVER:8080/pentafile", "appkey");
13
14
/**
15
* Carga de archivo de disco
16
*/
17
$file_path = dirname(__FILE__) . '/bitnami.css';
18
/**
19
* Obtenemos el binario del archivo
20
*/
21
$file_content = file_get_contents($file_path);
22
23
uploadFile($PentafileAPI, basename($file_path), $file_content);
24
25
/**
26
*
27
* @param type $API
28
* @param type $filename
29
* @param type $content_file
30
*/
31
function uploadFile($API, $filename, $content_file) {
32
try {
33
$ObjectFile = $API->uploadFile($filename, $content_file);
34
echo $ObjectFile->getKey() . "<br>";
35
echo $ObjectFile->getFilename() . "<br>";
36
echo $ObjectFile->getSize() . "<br>";
37
echo $ObjectFile->getType() . "<br>";
38
echo $ObjectFile->getUrl() . "<br>";
39
} catch (Exception $ex) {
40
echo "Error: " . $ex;
41
}
42
}
43
44
/**
45
* Obtener información del archivo
46
* @param type $API
47
* @param type $key_file
48
*/
49
function infoFile($API, $key_file) {
50
try {
51
$ObjectFile = $API->infoFile($key_file);
52
echo $ObjectFile->getKey() . "<br>";
53
echo $ObjectFile->getFilename() . "<br>";
54
echo $ObjectFile->getSize() . "<br>";
55
echo $ObjectFile->getType() . "<br>";
56
echo $ObjectFile->getUrl() . "<br>";
57
} catch (Exception $ex) {
58
echo "Error: " . $ex;
59
}
60
}
61
62
/**
63
* Eliminar el archivo
64
* @param type $API
65
* @param type $key_file
66
*/
67
function deleteFile($API, $key_file) {
68
try {
69
$API->deleteFile($key_file);
70
// No return content
71
} catch (Exception $ex) {
72
echo "Error: " . $ex;
73
}
74
}
75
76
/**
77
* Descargar el archivo
78
* @param type $API
79
* @param type $key_file
80
*/
81
function downloadFile($API, $key_file) {
82
try {
83
$InputStream = $API->downloadFile($key_file);
84
/**
85
* Guardamos en contenido binario del archivo
86
*/
87
$my_file = dirname(__FILE__) . '/' . $key_file . '.css';
88
$handle = fopen($my_file, 'w') or die('Cannot open file: ' . $my_file);
89
fwrite($handle, $InputStream);
90
} catch (Exception $ex) {
91
echo "Error: " . $ex;
92
}
93
}
94
Copied!
El ejemplo completo lo puedes descargar desde GitHub aquí
Last modified 1yr ago