SYNCERのロゴ
アイキャッチ画像

File() - コンストラクタ

File()は、Fileのコンストラクタです。新しいオブジェクトを作成します。

概要

名前
File
所属
File
IDL
Constructor(sequence<BlobPart> fileBits, USVString fileName, optional FilePropertyBag options)

dictionary FilePropertyBag : BlobPropertyBag {
  long long lastModified;
};

typedef (BufferSource or Blob or USVString) BlobPart;

dictionary BlobPropertyBag {
  DOMString type = "";
};

typedef (ArrayBufferView or ArrayBuffer) BufferSource;

typedef (Int8Array or Int16Array or Int32Array or Uint8Array or Uint16Array or Uint32Array or Uint8ClampedArray or Float32Array or Float64Array or DataView) ArrayBufferView;
仕様書
https://w3c.github.io/FileAPI/#dom-file-file

説明

第1引数(fileBits)には、ファイルの内容を配列で指定します。各インデックスにデータを含めて下さい。データの型は文字列、BlobArrayBuffer、ArrayBufferViewです。

第2引数(fileName)には、ファイル名を指定します。

第3引数(options)には、任意でオプションとなるオブジェクトで指定します。指定できるキーは下記の通りです。

type
ファイルのmime typeを、文字列で指定する。
lastModified
ファイルの最終更新時刻を、ミリ秒単位のunix timestampを指定する。

チュートリアル

コンストラクタでFileを作成する例です。テキストファイルを作成します。

var file = new File( [ "SYNCER" ], "demo.txt", {
	type: "text/plain" ,
	lastModified: 1468033093000 ,
} ) ;

画像などからファイルを作成するには、第1引数を文字列ではなく、Blobで指定しましょう。

var file = new File( [ blob ], "demo.png", {
	type: "image/png" ,
	lastModified: 1468033093000 ,
} ) ;

デモ

File()のデモです。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<html>
<style>
body { word-break: break-all ; tab-size: 2 ; }
div#result { white-space: pre-wrap ; }
</style>
<body>
<div id="result"></div>
<script>
var file = new File( [ "SYNCER" ], "demo.txt", {
	type: "text/plain" ,
	lastModified: 1468033093000 ,
} ) ;

console.log( file ) ;
appendText( file + "\n" ) ;

appendText( "name: " + file.name + "\n" ) ;
appendText( "type: " + file.type + "\n" ) ;
appendText( "lastModified: " + file.lastModified + "\n" ) ;

function appendText ( text ) {
	document.getElementById( "result" ).appendChild( document.createTextNode( text ) ) ;
}
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
38+ 28+ 10+×× 25+ 10.0+×
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年10月24日 (火)
コンテンツを公開しました。