aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/api/blobbuilder/index.html
blob: e07f1217cf4fb655134cca7fa361fd4a214a244a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
---
title: BlobBuilder
slug: Web/API/BlobBuilder
tags:
  - API
  - Archivo
  - DOM
  - File API
  - NeedsBrowserCompatibility
  - Obsoleto
  - Referencia
translation_of: Web/API/BlobBuilder
---
<p>{{APIRef("File API")}}{{ obsolete_header}}</p>

<p>La interfaz BlobBuilder provee una manera fácil de construir objetos {{domxref("Blob")}} . Solo crea un BlobBuilder y anexa trozos de datos invocando  el método {{manch("append")}} . Cuando termines de construir tu objeto, llama al método {{manch("getBlob")}} para obtener un objeto  {{domxref("Blob")}}  que contiene los datos que le enviaste al blob builder.</p>

<div class="note"><strong>Nota:</strong> La interfaz <code>BlobBuilder</code> ha sido descontinuada en favor de introducir el constructor mas reciente {{domxref('Blob')}}.</div>

<h2 id="Información_general_de_los_metodos">Información general de los metodos</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <td><code>void <a href="/en-US/docs/Web/API/BlobBuilder#append()">append</a>(in ArrayBuffer data);</code></td>
  </tr>
  <tr>
   <td><code>void <a href="/en-US/docs/Web/API/BlobBuilder#append()">append</a>(in Blob data);</code></td>
  </tr>
  <tr>
   <td><code>void <a href="/en-US/docs/Web/API/BlobBuilder#append()">append</a>(in String data, [optional] in String endings);</code></td>
  </tr>
  <tr>
   <td><code>Blob <a href="/en-US/docs/Web/API/BlobBuilder#getBlob()">getBlob</a>([optional] in DOMString contentType);</code></td>
  </tr>
  <tr>
   <td><code>File <a href="/en-US/docs/Web/API/BlobBuilder#getFile()">getFile</a>(in DOMString name, [optional] in DOMString contentType);</code></td>
  </tr>
 </tbody>
</table>

<h2 id="Metodos">Metodos</h2>

<h3 id="append()">append()</h3>

<p>Anexa el contenido del objeto javascript especificado al {{domxref("Blob")}} que esta siendo construido. Si el valor especificado no es  un  {{domxref("Blob")}}, <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></code>, o <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String"><code>String</code></a>, el valor es convertido a String antes de ser anexado al  blob.</p>

<pre class="syntaxbox">void append(
  in ArrayBuffer data
);

void append(
  in Blob data
);


void append(
  in String data,
  [optional] in String endings
);
</pre>

<h3 id="Parametros">Parametros</h3>

<dl>
 <dt><code>data</code></dt>
 <dd>Los datos a anexar al objeto {{domxref("Blob")}} que esta siendo construido.</dd>
 <dt><code>endings</code></dt>
 <dd>Establece como serán escritas las cadenas que contienen  <code>\n</code>. Puede ser <code>"transparent"</code> (los finales no cambian) o <code>"native"</code> (los finales cambian para coincidir  a conveniencia del sistema operativo anfitrión). El valor predeterminado es <code>"transparent"</code>.</dd>
</dl>

<h3 id="getBlob()">getBlob()</h3>

<p>Regresa el objeto  {{domxref("Blob")}} que ha sido construido usando los datos pasados atraves del método {{manch("append")}}.</p>

<pre class="syntaxbox">Blob getBlob(
  in DOMString contentType {{optional_inline}}
);
</pre>

<h3 id="Parametros_2">Parametros</h3>

<dl>
 <dt>contentType {{optional_inline}}</dt>
 <dd>El tipo MIME de los datos que seran regresados en el objeto {{domxref("Blob")}}. Esto será la propiedad tipo (Type) de los objetos <code>Blob</code>.</dd>
</dl>

<h3 id="Valor_de_Retorno">Valor de Retorno</h3>

<p>Un objeto  {{domxref("Blob")}} conteniendo todos los datos pasados por cualquier llamada hecha  al método {{manch("append")}} desde que el  <code>BlobBuilder</code> fue creado. Esto tambien reinicializa el  <code>BlobBuilder</code> sí que la siguiente llamada al metodo {{manch("append")}} es empezar de nuevo , un blob vacio.</p>

<h3 id="getFile()_non-standard_inline">getFile() {{non-standard_inline}}</h3>

<p>Retorna un objeto {{domxref("File")}}.</p>

<pre class="syntaxbox">File getFile(
  in DOMString name,
  [optional] in DOMString contentType
);
</pre>

<h3 id="Parametros_3">Parametros</h3>

<dl>
 <dt>name</dt>
 <dd>El nombre del archivo.</dd>
 <dt>contentType {{optional_inline}}</dt>
 <dd>El tipo MIME de dats regresados en el objeto {{domxref("File")}}. Este será el valor de la propiedad tipo (type) del objeto <code>File</code>.</dd>
</dl>

<h3 id="Valor_de_Retorno_2">Valor de Retorno</h3>

<p>Un Objeto {{domxref("File")}}.</p>

<h2 id="Compatibilidad_con_Nevegadores">Compatibilidad con Nevegadores</h2>

<p>{{CompatibilityTable}}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Característica</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Basic support (soporte básico)</td>
   <td>8[1]</td>
   <td>{{CompatNo}}[2]</td>
   <td>10[3]</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}[1]</td>
  </tr>
  <tr>
   <td><code>getfile()</code> {{non-standard_inline}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Característica</th>
   <th>Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support (soporte básico)</td>
   <td>3[1]</td>
   <td>{{CompatNo}}[2]</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}[1]</td>
  </tr>
  <tr>
   <td><code>getfile()</code> {{non-standard_inline}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<p>[1] WebKit implementa el API como <code>WebKitBlobBuilder</code>, aunque es obsoleta ahora y ha hecho su soporte configurable. Actualmente Safari deshabilita esta caracteristica  en Nightly, asi que probablemente no venga en la version final. Por otra parte, Chrome, que lo ha soportado desde Chrome 8, mantiene disponible esta caracteristica. Asi que Chrome podrá continuar soportando esta caracteristica. (Visita <a href="http://trac.webkit.org/changeset/115666">WebKit changeset</a> para mas detalles).</p>

<p>[2] Gecko implementa el API como <code>MozBlobBuilder</code>. Empezando con Firefox 14, usando <code>MozBlobBuilder mostrará un mensaje de advertencia en la consola de que usar </code><code>MozBlobBuilder</code> es obsoleto y se sugiere usar el constructor  {{domxref("Blob")}} en su lugar. En Gecko 18.0 esta caracteristica fue removida..</p>

<p>[3] Trident implementa el API como <code>MSBlobBuilder</code>.</p>

<h2 id="Vea_también">Vea también</h2>

<ul>
 <li>{{spec("http://dev.w3.org/2009/dap/file-system/file-writer.html#idl-def-BlobBuilder", "File API Specification: BlobBuilder", "ED")}}</li>
 <li>{{domxref("Blob")}}</li>
 <li>{{domxref("File")}}</li>
</ul>