# VMimeData

Es una clase que nos permite acceder bien al contenido en curso del portapapeles (obtenido con la función [mimeData](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/vclipboard#mimedata)() de [VClipboard](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vclipboard)) o preparar un contenido para llevar al portapapeles (creado con [newMimeData](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/vclipboard#newmimedata)() de la clase [VClipboard](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vclipboard)).

Todas las funciones son para su uso en [Velneo vClient](https://doc.velneo.com/33/velneo-vclient/que-es-velneo-vclient).

## Indice de funciones

void [clear](#clear)()

VByteArray [data](#data)( String szMimeType )

Array [formats](#formats)()

bool [hasFormat](#hasformat)( String szMimeType )

bool [hasHtml](#hashtml)()

bool [hasImage](#hasimage)()

bool [hasText](#hastext)()

String [html](#html)()

void [image](#image)( VImage img )

void [removeFormat](#removeformat)( String szMimeType )

void [setData](#setdata)( String szMimeType, VByteArray ba )

void [setHtml](#sethtml)(String szHtml )

void [setImage](#setimage)( VImage img )

void [setText](#settext)( String szText )

String [text](#text)()

### Documentación de funciones

#### void clear() <a href="#clear" id="clear"></a>

Limpia el objeto VMimeData. Sólo debe aplicarse al objeto obtenido con la función [newMimeData](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/vclipboard#newmimedata)() de la clase [VClipboard](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vclipboard).

#### [VByteArray](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vbytearray) data( String szMimeType ) <a href="#data" id="data"></a>

Nos permite obtener el contenido del portapapeles del tipo Mime que indicamos como parámetro.

Para establecer correctamente la codificación en tipos `"text/plain"`, `"text/html"`, etc., debemos convertir el texto por medio de las funciones `decodeURIComponent( escape( szText ) ) );`

#### Array formats() <a href="#formats" id="formats"></a>

Devuelve la lista de tipos mime que incluye el objeto VMimeType en un array.

#### bool hasFormat( String szMimeType ) <a href="#hasformat" id="hasformat"></a>

Devuelve true si el objeto VMimeData tiene contenido del tipo Mime que pasamos como parámetro.

#### bool hasHtml() <a href="#hashtml" id="hashtml"></a>

Devuelve true si el objeto VMimeData tiene contenido de tipo mime `"text/html"`.

#### bool hasImage() <a href="#hasimage" id="hasimage"></a>

Devuelve true si el objeto VMimeData tiene contenido de tipo mime `"image/*"`.

#### bool hasText() <a href="#hastext" id="hastext"></a>

Devuelve true si el objeto VMimeData tiene contenido de tipo mime `"text/plain"`.

#### String html() <a href="#html" id="html"></a>

Devuelve el contenido de tipo mime `"text/html"` que contiene el objeto VMimeData.

#### void image( VImage img ) <a href="#image" id="image"></a>

Devuelve el contenido de tipo mime `"image/*"` que contiene el objeto VMimeData en el objeto [VImage](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vimage) que pasamos como parámetro.

#### void removeFormat( String szMimeType ) <a href="#removeformat" id="removeformat"></a>

Quita del objeto VMimeData el contenido del tipo Mime que pasamos como parámetro.

#### void setData( String szMimeType, VByteArray ba ) <a href="#setdata" id="setdata"></a>

Establece el contenido del portapapeles del tipo Mime que indicamos como parámetro con el contenido de un [VByteArray](https://doc.velneo.com/33/velneo-vdevelop/scripts/lenguajes/javascript/clases/vbytearray).

Para establecer correctamente la codificación en tipos `"text/plain"`, `"text/html"`, etc., debemos convertir el texto por medio de las funciones `unescape( encodeURIComponent( szText ) ) );`

#### void setHtml( String szHtml ) <a href="#sethtml" id="sethtml"></a>

Establece el contenido de tipo mime `"text/html"` del objeto VMimeData.

#### void setImage( VImage img ) <a href="#setimage" id="setimage"></a>

Establece el contenido de tipo mime `"image/*"` del objeto VMimeData.

#### void setText( String szText ) <a href="#settext" id="settext"></a>

Establece el contenido de tipo mime `"text/plain"` del objeto VMimeData.

#### String text() <a href="#text" id="text"></a>

Devuelve el contenido de tipo mime `"text/plain"` que contiene el objeto VMimeData.

## Ejemplo

### Copiar en el portapapeles un archivo pdf que tenemos en el disco

```javascript
var szMimeType = 'text/uri-list';

var baPortapapeles = new VByteArray();
var senda = "file:///c:/documentos/factura.pdf";
baPortapapeles.setText( senda );

var portapapeles = theApp.clipboard();
var mimeData = portapapeles.newMimeData();
mimeData.setData( szMimeType, baPortapapeles );
portapapeles.setMimeData( mimeData );
```
