Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
File.php
Go to the documentation of this file.
1 <?php
7 
9 
17 {
23  protected $_coreFileStorageDatabase = null;
24 
30  protected $_filesystem;
31 
37  protected $_mediaDirectory;
38 
45  public function __construct(
46  \Magento\Framework\App\Helper\Context $context,
47  \Magento\MediaStorage\Helper\File\Storage\Database $coreFileStorageDatabase,
48  \Magento\Framework\Filesystem $filesystem,
49  array $mimeTypes = []
50  ) {
51  $this->_coreFileStorageDatabase = $coreFileStorageDatabase;
52  $this->_filesystem = $filesystem;
53  $this->_mediaDirectory = $filesystem->getDirectoryWrite(DirectoryList::MEDIA);
54  parent::__construct($context);
55  if (!empty($mimeTypes)) {
56  foreach ($mimeTypes as $key => $value) {
57  self::$_mimeTypes[$key] = $value;
58  }
59  }
60  }
61 
68  public function uploadFromTmp($tmpPath, \Magento\MediaStorage\Model\File\Uploader $uploader)
69  {
70  $uploader->setAllowRenameFiles(true);
71  $uploader->setFilesDispersion(true);
72  $absoluteTmpPath = $this->_mediaDirectory->getAbsolutePath($tmpPath);
73  $result = $uploader->save($absoluteTmpPath);
74  unset($result['path']);
75 
76  return $result;
77  }
78 
87  public function moveFileFromTmp($baseTmpPath, $basePath, $file)
88  {
89  if (isset($file[0])) {
90  $fileName = $file[0]['file'];
91  if ($file[0]['status'] === 'new') {
92  try {
93  $fileName = $this->_moveFileFromTmp($baseTmpPath, $basePath, $file[0]['file']);
94  } catch (\Exception $e) {
95  throw new \Magento\Framework\Exception\LocalizedException(
96  __('Something went wrong while saving the file(s).')
97  );
98  }
99  }
100  return $fileName;
101  }
102  return '';
103  }
104 
110  public function ensureFileInFilesystem($file)
111  {
112  $result = true;
113  if (!$this->_mediaDirectory->isFile($file)) {
114  $result = $this->_coreFileStorageDatabase->saveFileToFilesystem($file);
115  }
116 
117  return $result;
118  }
119 
128  protected function _moveFileFromTmp($baseTmpPath, $basePath, $file)
129  {
130  if (strrpos($file, '.tmp') == strlen($file) - 4) {
131  $file = substr($file, 0, strlen($file) - 4);
132  }
133 
134  $destFile = dirname(
135  $file
137  $this->getFilePath($basePath, $file)
138  );
139 
140  $this->_coreFileStorageDatabase->copyFile(
141  $this->getFilePath($baseTmpPath, $file),
142  $this->getFilePath($basePath, $destFile)
143  );
144 
145  $this->_mediaDirectory->renameFile(
146  $this->getFilePath($baseTmpPath, $file),
147  $this->getFilePath($basePath, $destFile)
148  );
149 
150  return str_replace('\\', '/', $destFile);
151  }
152 
160  public function getFilePath($path, $file)
161  {
162  $path = rtrim($path, '/');
163  $file = ltrim($file, '/');
164 
165  return $path . '/' . $file;
166  }
167 
174  public function getFileFromPathFile($pathFile)
175  {
176  $file = substr($pathFile, strrpos($pathFile, '/') + 1);
177 
178  return $file;
179  }
180 
186  public function getFileSize($file)
187  {
188  return $this->_mediaDirectory->stat($file)['size'];
189  }
190 
195  public function getFileType($filePath)
196  {
197  $ext = substr($filePath, strrpos($filePath, '.') + 1);
198  return $this->_getFileTypeByExt($ext);
199  }
200 
205  protected function _getFileTypeByExt($ext)
206  {
207  $type = 'x' . $ext;
208  if (isset(self::$_mimeTypes[$type])) {
209  return self::$_mimeTypes[$type];
210  }
211  return 'application/octet-stream';
212  }
213 
217  public function getAllFileTypes()
218  {
219  return array_values(self::getAllMineTypes());
220  }
221 
225  public function getAllMineTypes()
226  {
227  return self::$_mimeTypes;
228  }
229 
233  protected static $_mimeTypes = [
234  'x123' => 'application/vnd.lotus-1-2-3',
235  'x3dml' => 'text/vnd.in3d.3dml',
236  'x3g2' => 'video/3gpp2',
237  'x3gp' => 'video/3gpp',
238  'xace' => 'application/x-ace-compressed',
239  'xacu' => 'application/vnd.acucobol',
240  'xaep' => 'application/vnd.audiograph',
241  'xai' => 'application/postscript',
242  'xaif' => 'audio/x-aiff',
243  'xaifc' => 'audio/x-aiff',
244  'xaiff' => 'audio/x-aiff',
245  'xami' => 'application/vnd.amiga.ami',
246  'xapr' => 'application/vnd.lotus-approach',
247  'xasf' => 'video/x-ms-asf',
248  'xaso' => 'application/vnd.accpac.simply.aso',
249  'xasx' => 'video/x-ms-asf',
250  'xatom' => 'application/atom+xml',
251  'xatomcat' => 'application/atomcat+xml',
252  'xatomsvc' => 'application/atomsvc+xml',
253  'xatx' => 'application/vnd.antix.game-component',
254  'xau' => 'audio/basic',
255  'xavi' => 'video/x-msvideo',
256  'xbat' => 'application/x-msdownload',
257  'xbcpio' => 'application/x-bcpio',
258  'xbdm' => 'application/vnd.syncml.dm+wbxml',
259  'xbh2' => 'application/vnd.fujitsu.oasysprs',
260  'xbmi' => 'application/vnd.bmi',
261  'xbmp' => 'image/bmp',
262  'xbox' => 'application/vnd.previewsystems.box',
263  'xboz' => 'application/x-bzip2',
264  'xbtif' => 'image/prs.btif',
265  'xbz' => 'application/x-bzip',
266  'xbz2' => 'application/x-bzip2',
267  'xcab' => 'application/vnd.ms-cab-compressed',
268  'xccxml' => 'application/ccxml+xml',
269  'xcdbcmsg' => 'application/vnd.contact.cmsg',
270  'xcdkey' => 'application/vnd.mediastation.cdkey',
271  'xcdx' => 'chemical/x-cdx',
272  'xcdxml' => 'application/vnd.chemdraw+xml',
273  'xcdy' => 'application/vnd.cinderella',
274  'xcer' => 'application/pkix-cert',
275  'xcgm' => 'image/cgm',
276  'xchat' => 'application/x-chat',
277  'xchm' => 'application/vnd.ms-htmlhelp',
278  'xchrt' => 'application/vnd.kde.kchart',
279  'xcif' => 'chemical/x-cif',
280  'xcii' => 'application/vnd.anser-web-certificate-issue-initiation',
281  'xcil' => 'application/vnd.ms-artgalry',
282  'xcla' => 'application/vnd.claymore',
283  'xclkk' => 'application/vnd.crick.clicker.keyboard',
284  'xclkp' => 'application/vnd.crick.clicker.palette',
285  'xclkt' => 'application/vnd.crick.clicker.template',
286  'xclkw' => 'application/vnd.crick.clicker.wordbank',
287  'xclkx' => 'application/vnd.crick.clicker',
288  'xclp' => 'application/x-msclip',
289  'xcmc' => 'application/vnd.cosmocaller',
290  'xcmdf' => 'chemical/x-cmdf',
291  'xcml' => 'chemical/x-cml',
292  'xcmp' => 'application/vnd.yellowriver-custom-menu',
293  'xcmx' => 'image/x-cmx',
294  'xcom' => 'application/x-msdownload',
295  'xconf' => 'text/plain',
296  'xcpio' => 'application/x-cpio',
297  'xcpt' => 'application/mac-compactpro',
298  'xcrd' => 'application/x-mscardfile',
299  'xcrl' => 'application/pkix-crl',
300  'xcrt' => 'application/x-x509-ca-cert',
301  'xcsh' => 'application/x-csh',
302  'xcsml' => 'chemical/x-csml',
303  'xcss' => 'text/css',
304  'xcsv' => 'text/csv',
305  'xcurl' => 'application/vnd.curl',
306  'xcww' => 'application/prs.cww',
307  'xdaf' => 'application/vnd.mobius.daf',
308  'xdavmount' => 'application/davmount+xml',
309  'xdd2' => 'application/vnd.oma.dd2+xml',
310  'xddd' => 'application/vnd.fujixerox.ddd',
311  'xdef' => 'text/plain',
312  'xder' => 'application/x-x509-ca-cert',
313  'xdfac' => 'application/vnd.dreamfactory',
314  'xdis' => 'application/vnd.mobius.dis',
315  'xdjv' => 'image/vnd.djvu',
316  'xdjvu' => 'image/vnd.djvu',
317  'xdll' => 'application/x-msdownload',
318  'xdna' => 'application/vnd.dna',
319  'xdoc' => 'application/msword',
320  'xdot' => 'application/msword',
321  'xdp' => 'application/vnd.osgi.dp',
322  'xdpg' => 'application/vnd.dpgraph',
323  'xdsc' => 'text/prs.lines.tag',
324  'xdtd' => 'application/xml-dtd',
325  'xdvi' => 'application/x-dvi',
326  'xdwf' => 'model/vnd.dwf',
327  'xdwg' => 'image/vnd.dwg',
328  'xdxf' => 'image/vnd.dxf',
329  'xdxp' => 'application/vnd.spotfire.dxp',
330  'xecelp4800' => 'audio/vnd.nuera.ecelp4800',
331  'xecelp7470' => 'audio/vnd.nuera.ecelp7470',
332  'xecelp9600' => 'audio/vnd.nuera.ecelp9600',
333  'xecma' => 'application/ecmascript',
334  'xedm' => 'application/vnd.novadigm.edm',
335  'xedx' => 'application/vnd.novadigm.edx',
336  'xefif' => 'application/vnd.picsel',
337  'xei6' => 'application/vnd.pg.osasli',
338  'xeml' => 'message/rfc822',
339  'xeol' => 'audio/vnd.digital-winds',
340  'xeot' => 'application/vnd.ms-fontobject',
341  'xeps' => 'application/postscript',
342  'xesf' => 'application/vnd.epson.esf',
343  'xetx' => 'text/x-setext',
344  'xexe' => 'application/x-msdownload',
345  'xext' => 'application/vnd.novadigm.ext',
346  'xez' => 'application/andrew-inset',
347  'xez2' => 'application/vnd.ezpix-album',
348  'xez3' => 'application/vnd.ezpix-package',
349  'xfbs' => 'image/vnd.fastbidsheet',
350  'xfdf' => 'application/vnd.fdf',
351  'xfe_launch' => 'application/vnd.denovo.fcselayout-link',
352  'xfg5' => 'application/vnd.fujitsu.oasysgp',
353  'xfli' => 'video/x-fli',
354  'xflo' => 'application/vnd.micrografx.flo',
355  'xflw' => 'application/vnd.kde.kivio',
356  'xflx' => 'text/vnd.fmi.flexstor',
357  'xfly' => 'text/vnd.fly',
358  'xfnc' => 'application/vnd.frogans.fnc',
359  'xfpx' => 'image/vnd.fpx',
360  'xfsc' => 'application/vnd.fsc.weblaunch',
361  'xfst' => 'image/vnd.fst',
362  'xftc' => 'application/vnd.fluxtime.clip',
363  'xfti' => 'application/vnd.anser-web-funds-transfer-initiation',
364  'xfvt' => 'video/vnd.fvt',
365  'xfzs' => 'application/vnd.fuzzysheet',
366  'xg3' => 'image/g3fax',
367  'xgac' => 'application/vnd.groove-account',
368  'xgdl' => 'model/vnd.gdl',
369  'xghf' => 'application/vnd.groove-help',
370  'xgif' => 'image/gif',
371  'xgim' => 'application/vnd.groove-identity-message',
372  'xgph' => 'application/vnd.flographit',
373  'xgram' => 'application/srgs',
374  'xgrv' => 'application/vnd.groove-injector',
375  'xgrxml' => 'application/srgs+xml',
376  'xgtar' => 'application/x-gtar',
377  'xgtm' => 'application/vnd.groove-tool-message',
378  'xgtw' => 'model/vnd.gtw',
379  'xh261' => 'video/h261',
380  'xh263' => 'video/h263',
381  'xh264' => 'video/h264',
382  'xhbci' => 'application/vnd.hbci',
383  'xhdf' => 'application/x-hdf',
384  'xhlp' => 'application/winhlp',
385  'xhpgl' => 'application/vnd.hp-hpgl',
386  'xhpid' => 'application/vnd.hp-hpid',
387  'xhps' => 'application/vnd.hp-hps',
388  'xhqx' => 'application/mac-binhex40',
389  'xhtke' => 'application/vnd.kenameaapp',
390  'xhtm' => 'text/html',
391  'xhtml' => 'text/html',
392  'xhvd' => 'application/vnd.yamaha.hv-dic',
393  'xhvp' => 'application/vnd.yamaha.hv-voice',
394  'xhvs' => 'application/vnd.yamaha.hv-script',
395  'xice' => '#x-conference/x-cooltalk',
396  'xico' => 'image/x-icon',
397  'xics' => 'text/calendar',
398  'xief' => 'image/ief',
399  'xifb' => 'text/calendar',
400  'xifm' => 'application/vnd.shana.informed.formdata',
401  'xigl' => 'application/vnd.igloader',
402  'xigx' => 'application/vnd.micrografx.igx',
403  'xiif' => 'application/vnd.shana.informed.interchange',
404  'ximp' => 'application/vnd.accpac.simply.imp',
405  'xims' => 'application/vnd.ms-ims',
406  'xin' => 'text/plain',
407  'xipk' => 'application/vnd.shana.informed.package',
408  'xirm' => 'application/vnd.ibm.rights-management',
409  'xirp' => 'application/vnd.irepository.package+xml',
410  'xitp' => 'application/vnd.shana.informed.formtemplate',
411  'xivp' => 'application/vnd.immervision-ivp',
412  'xivu' => 'application/vnd.immervision-ivu',
413  'xjad' => 'text/vnd.sun.j2me.app-descriptor',
414  'xjam' => 'application/vnd.jam',
415  'xjava' => 'text/x-java-source',
416  'xjisp' => 'application/vnd.jisp',
417  'xjlt' => 'application/vnd.hp-jlyt',
418  'xjoda' => 'application/vnd.joost.joda-archive',
419  'xjpe' => 'image/jpeg',
420  'xjpeg' => 'image/jpeg',
421  'xjpg' => 'image/jpeg',
422  'xjpgm' => 'video/jpm',
423  'xjpgv' => 'video/jpeg',
424  'xjpm' => 'video/jpm',
425  'xjs' => 'application/javascript',
426  'xjson' => 'application/json',
427  'xkar' => 'audio/midi',
428  'xkarbon' => 'application/vnd.kde.karbon',
429  'xkfo' => 'application/vnd.kde.kformula',
430  'xkia' => 'application/vnd.kidspiration',
431  'xkml' => 'application/vnd.google-earth.kml+xml',
432  'xkmz' => 'application/vnd.google-earth.kmz',
433  'xkon' => 'application/vnd.kde.kontour',
434  'xksp' => 'application/vnd.kde.kspread',
435  'xlatex' => 'application/x-latex',
436  'xlbd' => 'application/vnd.llamagraphics.life-balance.desktop',
437  'xlbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml',
438  'xles' => 'application/vnd.hhe.lesson-player',
439  'xlist' => 'text/plain',
440  'xlog' => 'text/plain',
441  'xlrm' => 'application/vnd.ms-lrm',
442  'xltf' => 'application/vnd.frogans.ltf',
443  'xlvp' => 'audio/vnd.lucent.voice',
444  'xlwp' => 'application/vnd.lotus-wordpro',
445  'xm13' => 'application/x-msmediaview',
446  'xm14' => 'application/x-msmediaview',
447  'xm1v' => 'video/mpeg',
448  'xm2a' => 'audio/mpeg',
449  'xm3a' => 'audio/mpeg',
450  'xm3u' => 'audio/x-mpegurl',
451  'xm4u' => 'video/vnd.mpegurl',
452  'xmag' => 'application/vnd.ecowin.chart',
453  'xmathml' => 'application/mathml+xml',
454  'xmbk' => 'application/vnd.mobius.mbk',
455  'xmbox' => 'application/mbox',
456  'xmc1' => 'application/vnd.medcalcdata',
457  'xmcd' => 'application/vnd.mcd',
458  'xmdb' => 'application/x-msaccess',
459  'xmdi' => 'image/vnd.ms-modi',
460  'xmesh' => 'model/mesh',
461  'xmfm' => 'application/vnd.mfmp',
462  'xmgz' => 'application/vnd.proteus.magazine',
463  'xmid' => 'audio/midi',
464  'xmidi' => 'audio/midi',
465  'xmif' => 'application/vnd.mif',
466  'xmime' => 'message/rfc822',
467  'xmj2' => 'video/mj2',
468  'xmjp2' => 'video/mj2',
469  'xmlp' => 'application/vnd.dolby.mlp',
470  'xmmd' => 'application/vnd.chipnuts.karaoke-mmd',
471  'xmmf' => 'application/vnd.smaf',
472  'xmmr' => 'image/vnd.fujixerox.edmics-mmr',
473  'xmny' => 'application/x-msmoney',
474  'xmov' => 'video/quicktime',
475  'xmovie' => 'video/x-sgi-movie',
476  'xmp2' => 'audio/mpeg',
477  'xmp2a' => 'audio/mpeg',
478  'xmp3' => 'audio/mpeg',
479  'xmp4' => 'video/mp4',
480  'xmp4a' => 'audio/mp4',
481  'xmp4s' => 'application/mp4',
482  'xmp4v' => 'video/mp4',
483  'xmpc' => 'application/vnd.mophun.certificate',
484  'xmpe' => 'video/mpeg',
485  'xmpeg' => 'video/mpeg',
486  'xmpg' => 'video/mpeg',
487  'xmpg4' => 'video/mp4',
488  'xmpga' => 'audio/mpeg',
489  'xmpkg' => 'application/vnd.apple.installer+xml',
490  'xmpm' => 'application/vnd.blueice.multipass',
491  'xmpn' => 'application/vnd.mophun.application',
492  'xmpp' => 'application/vnd.ms-project',
493  'xmpt' => 'application/vnd.ms-project',
494  'xmpy' => 'application/vnd.ibm.minipay',
495  'xmqy' => 'application/vnd.mobius.mqy',
496  'xmrc' => 'application/marc',
497  'xmscml' => 'application/mediaservercontrol+xml',
498  'xmseq' => 'application/vnd.mseq',
499  'xmsf' => 'application/vnd.epson.msf',
500  'xmsh' => 'model/mesh',
501  'xmsi' => 'application/x-msdownload',
502  'xmsl' => 'application/vnd.mobius.msl',
503  'xmsty' => 'application/vnd.muvee.style',
504  'xmts' => 'model/vnd.mts',
505  'xmus' => 'application/vnd.musician',
506  'xmvb' => 'application/x-msmediaview',
507  'xmwf' => 'application/vnd.mfer',
508  'xmxf' => 'application/mxf',
509  'xmxl' => 'application/vnd.recordare.musicxml',
510  'xmxml' => 'application/xv+xml',
511  'xmxs' => 'application/vnd.triscape.mxs',
512  'xmxu' => 'video/vnd.mpegurl',
513  'xn-gage' => 'application/vnd.nokia.n-gage.symbian.install',
514  'xngdat' => 'application/vnd.nokia.n-gage.data',
515  'xnlu' => 'application/vnd.neurolanguage.nlu',
516  'xnml' => 'application/vnd.enliven',
517  'xnnd' => 'application/vnd.noblenet-directory',
518  'xnns' => 'application/vnd.noblenet-sealer',
519  'xnnw' => 'application/vnd.noblenet-web',
520  'xnpx' => 'image/vnd.net-fpx',
521  'xnsf' => 'application/vnd.lotus-notes',
522  'xoa2' => 'application/vnd.fujitsu.oasys2',
523  'xoa3' => 'application/vnd.fujitsu.oasys3',
524  'xoas' => 'application/vnd.fujitsu.oasys',
525  'xobd' => 'application/x-msbinder',
526  'xoda' => 'application/oda',
527  'xodc' => 'application/vnd.oasis.opendocument.chart',
528  'xodf' => 'application/vnd.oasis.opendocument.formula',
529  'xodg' => 'application/vnd.oasis.opendocument.graphics',
530  'xodi' => 'application/vnd.oasis.opendocument.image',
531  'xodp' => 'application/vnd.oasis.opendocument.presentation',
532  'xods' => 'application/vnd.oasis.opendocument.spreadsheet',
533  'xodt' => 'application/vnd.oasis.opendocument.text',
534  'xogg' => 'application/ogg',
535  'xoprc' => 'application/vnd.palm',
536  'xorg' => 'application/vnd.lotus-organizer',
537  'xotc' => 'application/vnd.oasis.opendocument.chart-template',
538  'xotf' => 'application/vnd.oasis.opendocument.formula-template',
539  'xotg' => 'application/vnd.oasis.opendocument.graphics-template',
540  'xoth' => 'application/vnd.oasis.opendocument.text-web',
541  'xoti' => 'application/vnd.oasis.opendocument.image-template',
542  'xotm' => 'application/vnd.oasis.opendocument.text-master',
543  'xots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
544  'xott' => 'application/vnd.oasis.opendocument.text-template',
545  'xoxt' => 'application/vnd.openofficeorg.extension',
546  'xp10' => 'application/pkcs10',
547  'xp7r' => 'application/x-pkcs7-certreqresp',
548  'xp7s' => 'application/pkcs7-signature',
549  'xpbd' => 'application/vnd.powerbuilder6',
550  'xpbm' => 'image/x-portable-bitmap',
551  'xpcl' => 'application/vnd.hp-pcl',
552  'xpclxl' => 'application/vnd.hp-pclxl',
553  'xpct' => 'image/x-pict',
554  'xpcx' => 'image/x-pcx',
555  'xpdb' => 'chemical/x-pdb',
556  'xpdf' => 'application/pdf',
557  'xpfr' => 'application/font-tdpfr',
558  'xpgm' => 'image/x-portable-graymap',
559  'xpgn' => 'application/x-chess-pgn',
560  'xpgp' => 'application/pgp-encrypted',
561  'xpic' => 'image/x-pict',
562  'xpki' => 'application/pkixcmp',
563  'xpkipath' => 'application/pkix-pkipath',
564  'xplb' => 'application/vnd.3gpp.pic-bw-large',
565  'xplc' => 'application/vnd.mobius.plc',
566  'xplf' => 'application/vnd.pocketlearn',
567  'xpls' => 'application/pls+xml',
568  'xpml' => 'application/vnd.ctc-posml',
569  'xpng' => 'image/png',
570  'xpnm' => 'image/x-portable-anymap',
571  'xportpkg' => 'application/vnd.macports.portpkg',
572  'xpot' => 'application/vnd.ms-powerpoint',
573  'xppd' => 'application/vnd.cups-ppd',
574  'xppm' => 'image/x-portable-pixmap',
575  'xpps' => 'application/vnd.ms-powerpoint',
576  'xppt' => 'application/vnd.ms-powerpoint',
577  'xpqa' => 'application/vnd.palm',
578  'xprc' => 'application/vnd.palm',
579  'xpre' => 'application/vnd.lotus-freelance',
580  'xprf' => 'application/pics-rules',
581  'xps' => 'application/postscript',
582  'xpsb' => 'application/vnd.3gpp.pic-bw-small',
583  'xpsd' => 'image/vnd.adobe.photoshop',
584  'xptid' => 'application/vnd.pvi.ptid1',
585  'xpub' => 'application/x-mspublisher',
586  'xpvb' => 'application/vnd.3gpp.pic-bw-var',
587  'xpwn' => 'application/vnd.3m.post-it-notes',
588  'xqam' => 'application/vnd.epson.quickanime',
589  'xqbo' => 'application/vnd.intu.qbo',
590  'xqfx' => 'application/vnd.intu.qfx',
591  'xqps' => 'application/vnd.publishare-delta-tree',
592  'xqt' => 'video/quicktime',
593  'xra' => 'audio/x-pn-realaudio',
594  'xram' => 'audio/x-pn-realaudio',
595  'xrar' => 'application/x-rar-compressed',
596  'xras' => 'image/x-cmu-raster',
597  'xrcprofile' => 'application/vnd.ipunplugged.rcprofile',
598  'xrdf' => 'application/rdf+xml',
599  'xrdz' => 'application/vnd.data-vision.rdz',
600  'xrep' => 'application/vnd.businessobjects',
601  'xrgb' => 'image/x-rgb',
602  'xrif' => 'application/reginfo+xml',
603  'xrl' => 'application/resource-lists+xml',
604  'xrlc' => 'image/vnd.fujixerox.edmics-rlc',
605  'xrm' => 'application/vnd.rn-realmedia',
606  'xrmi' => 'audio/midi',
607  'xrmp' => 'audio/x-pn-realaudio-plugin',
608  'xrms' => 'application/vnd.jcp.javame.midlet-rms',
609  'xrnc' => 'application/relax-ng-compact-syntax',
610  'xrpss' => 'application/vnd.nokia.radio-presets',
611  'xrpst' => 'application/vnd.nokia.radio-preset',
612  'xrq' => 'application/sparql-query',
613  'xrs' => 'application/rls-services+xml',
614  'xrsd' => 'application/rsd+xml',
615  'xrss' => 'application/rss+xml',
616  'xrtf' => 'application/rtf',
617  'xrtx' => 'text/richtext',
618  'xsaf' => 'application/vnd.yamaha.smaf-audio',
619  'xsbml' => 'application/sbml+xml',
620  'xsc' => 'application/vnd.ibm.secure-container',
621  'xscd' => 'application/x-msschedule',
622  'xscm' => 'application/vnd.lotus-screencam',
623  'xscq' => 'application/scvp-cv-request',
624  'xscs' => 'application/scvp-cv-response',
625  'xsdp' => 'application/sdp',
626  'xsee' => 'application/vnd.seemail',
627  'xsema' => 'application/vnd.sema',
628  'xsemd' => 'application/vnd.semd',
629  'xsemf' => 'application/vnd.semf',
630  'xsetpay' => 'application/set-payment-initiation',
631  'xsetreg' => 'application/set-registration-initiation',
632  'xsfs' => 'application/vnd.spotfire.sfs',
633  'xsgm' => 'text/sgml',
634  'xsgml' => 'text/sgml',
635  'xsh' => 'application/x-sh',
636  'xshar' => 'application/x-shar',
637  'xshf' => 'application/shf+xml',
638  'xsilo' => 'model/mesh',
639  'xsit' => 'application/x-stuffit',
640  'xsitx' => 'application/x-stuffitx',
641  'xslt' => 'application/vnd.epson.salt',
642  'xsnd' => 'audio/basic',
643  'xspf' => 'application/vnd.yamaha.smaf-phrase',
644  'xspl' => 'application/x-futuresplash',
645  'xspot' => 'text/vnd.in3d.spot',
646  'xspp' => 'application/scvp-vp-response',
647  'xspq' => 'application/scvp-vp-request',
648  'xsrc' => 'application/x-wais-source',
649  'xsrx' => 'application/sparql-results+xml',
650  'xssf' => 'application/vnd.epson.ssf',
651  'xssml' => 'application/ssml+xml',
652  'xstf' => 'application/vnd.wt.stf',
653  'xstk' => 'application/hyperstudio',
654  'xstr' => 'application/vnd.pg.format',
655  'xsus' => 'application/vnd.sus-calendar',
656  'xsusp' => 'application/vnd.sus-calendar',
657  'xsv4cpio' => 'application/x-sv4cpio',
658  'xsv4crc' => 'application/x-sv4crc',
659  'xsvd' => 'application/vnd.svd',
660  'xswf' => 'application/x-shockwave-flash',
661  'xtao' => 'application/vnd.tao.intent-module-archive',
662  'xtar' => 'application/x-tar',
663  'xtcap' => 'application/vnd.3gpp2.tcap',
664  'xtcl' => 'application/x-tcl',
665  'xtex' => 'application/x-tex',
666  'xtext' => 'text/plain',
667  'xtif' => 'image/tiff',
668  'xtiff' => 'image/tiff',
669  'xtmo' => 'application/vnd.tmobile-livetv',
670  'xtorrent' => 'application/x-bittorrent',
671  'xtpl' => 'application/vnd.groove-tool-template',
672  'xtpt' => 'application/vnd.trid.tpt',
673  'xtra' => 'application/vnd.trueapp',
674  'xtrm' => 'application/x-msterminal',
675  'xtsv' => 'text/tab-separated-values',
676  'xtxd' => 'application/vnd.genomatix.tuxedo',
677  'xtxf' => 'application/vnd.mobius.txf',
678  'xtxt' => 'text/plain',
679  'xumj' => 'application/vnd.umajin',
680  'xunityweb' => 'application/vnd.unity',
681  'xuoml' => 'application/vnd.uoml+xml',
682  'xuri' => 'text/uri-list',
683  'xuris' => 'text/uri-list',
684  'xurls' => 'text/uri-list',
685  'xustar' => 'application/x-ustar',
686  'xutz' => 'application/vnd.uiq.theme',
687  'xuu' => 'text/x-uuencode',
688  'xvcd' => 'application/x-cdlink',
689  'xvcf' => 'text/x-vcard',
690  'xvcg' => 'application/vnd.groove-vcard',
691  'xvcs' => 'text/x-vcalendar',
692  'xvcx' => 'application/vnd.vcx',
693  'xvis' => 'application/vnd.visionary',
694  'xviv' => 'video/vnd.vivo',
695  'xvrml' => 'model/vrml',
696  'xvsd' => 'application/vnd.visio',
697  'xvsf' => 'application/vnd.vsf',
698  'xvss' => 'application/vnd.visio',
699  'xvst' => 'application/vnd.visio',
700  'xvsw' => 'application/vnd.visio',
701  'xvtu' => 'model/vnd.vtu',
702  'xvxml' => 'application/voicexml+xml',
703  'xwav' => 'audio/x-wav',
704  'xwax' => 'audio/x-ms-wax',
705  'xwbmp' => 'image/vnd.wap.wbmp',
706  'xwbs' => 'application/vnd.criticaltools.wbs+xml',
707  'xwbxml' => 'application/vnd.wap.wbxml',
708  'xwcm' => 'application/vnd.ms-works',
709  'xwdb' => 'application/vnd.ms-works',
710  'xwks' => 'application/vnd.ms-works',
711  'xwm' => 'video/x-ms-wm',
712  'xwma' => 'audio/x-ms-wma',
713  'xwmd' => 'application/x-ms-wmd',
714  'xwmf' => 'application/x-msmetafile',
715  'xwml' => 'text/vnd.wap.wml',
716  'xwmlc' => 'application/vnd.wap.wmlc',
717  'xwmls' => 'text/vnd.wap.wmlscript',
718  'xwmlsc' => 'application/vnd.wap.wmlscriptc',
719  'xwmv' => 'video/x-ms-wmv',
720  'xwmx' => 'video/x-ms-wmx',
721  'xwmz' => 'application/x-ms-wmz',
722  'xwpd' => 'application/vnd.wordperfect',
723  'xwpl' => 'application/vnd.ms-wpl',
724  'xwps' => 'application/vnd.ms-works',
725  'xwqd' => 'application/vnd.wqd',
726  'xwri' => 'application/x-mswrite',
727  'xwrl' => 'model/vrml',
728  'xwsdl' => 'application/wsdl+xml',
729  'xwspolicy' => 'application/wspolicy+xml',
730  'xwtb' => 'application/vnd.webturbo',
731  'xwvx' => 'video/x-ms-wvx',
732  'xx3d' => 'application/vnd.hzn-3d-crossword',
733  'xxar' => 'application/vnd.xara',
734  'xxbd' => 'application/vnd.fujixerox.docuworks.binder',
735  'xxbm' => 'image/x-xbitmap',
736  'xxdm' => 'application/vnd.syncml.dm+xml',
737  'xxdp' => 'application/vnd.adobe.xdp+xml',
738  'xxdw' => 'application/vnd.fujixerox.docuworks',
739  'xxenc' => 'application/xenc+xml',
740  'xxfdf' => 'application/vnd.adobe.xfdf',
741  'xxfdl' => 'application/vnd.xfdl',
742  'xxht' => 'application/xhtml+xml',
743  'xxhtml' => 'application/xhtml+xml',
744  'xxhvml' => 'application/xv+xml',
745  'xxif' => 'image/vnd.xiff',
746  'xxla' => 'application/vnd.ms-excel',
747  'xxlc' => 'application/vnd.ms-excel',
748  'xxlm' => 'application/vnd.ms-excel',
749  'xxls' => 'application/vnd.ms-excel',
750  'xxlt' => 'application/vnd.ms-excel',
751  'xxlw' => 'application/vnd.ms-excel',
752  'xxml' => 'application/xml',
753  'xxo' => 'application/vnd.olpc-sugar',
754  'xxop' => 'application/xop+xml',
755  'xxpm' => 'image/x-xpixmap',
756  'xxpr' => 'application/vnd.is-xpr',
757  'xxps' => 'application/vnd.ms-xpsdocument',
758  'xxsl' => 'application/xml',
759  'xxslt' => 'application/xslt+xml',
760  'xxsm' => 'application/vnd.syncml+xml',
761  'xxspf' => 'application/xspf+xml',
762  'xxul' => 'application/vnd.mozilla.xul+xml',
763  'xxvm' => 'application/xv+xml',
764  'xxvml' => 'application/xv+xml',
765  'xxwd' => 'image/x-xwindowdump',
766  'xxyz' => 'chemical/x-xyz',
767  'xzaz' => 'application/vnd.zzazz.deck+xml',
768  'xzip' => 'application/zip',
769  'xzmm' => 'application/vnd.handheld-entertainment+xml'
770  ];
771 }
__()
Definition: __.php:13
uploadFromTmp($tmpPath, \Magento\MediaStorage\Model\File\Uploader $uploader)
Definition: File.php:68
_moveFileFromTmp($baseTmpPath, $basePath, $file)
Definition: File.php:128
$type
Definition: item.phtml:13
$fileName
Definition: translate.phtml:15
$value
Definition: gender.phtml:16
moveFileFromTmp($baseTmpPath, $basePath, $file)
Definition: File.php:87
__construct(\Magento\Framework\App\Helper\Context $context, \Magento\MediaStorage\Helper\File\Storage\Database $coreFileStorageDatabase, \Magento\Framework\Filesystem $filesystem, array $mimeTypes=[])
Definition: File.php:45
$filesystem
static getNewFileName($destinationFile)
Definition: Uploader.php:605