9

I am trying to convert string to File object in javascript but I get an error.

my code:

 var contents = fs.readFileSync('./dmv_file_reader.txt').toString()

 var  readerfile1 = new File([""], contents);

(i have to use contents as file and not as string)

and my output is :

ReferenceError: File is not defined
    at d:\Workspace\DMV\dist\win-ia32-unpacked\resources\app.asar\main.js:67:32
    at process._tickCallback (internal/process/next_tick.js:103:7)

any solution some1?

Tom Cohen
  • 143
  • 1
  • 4
  • 11
  • Seems that the `File` object is not defined... Might have to require something from a module? – Jite Nov 29 '16 at 15:34
  • 1
    There is no `File` object in node (assuming this is node since you're using `fs`). What are you trying to do with the file? – xdumaine Nov 29 '16 at 15:34
  • Have a look at: http://stackoverflow.com/questions/8390855/how-to-instantiate-a-file-object-in-javascript ; Have you tried using the blob? – user6035379 Nov 29 '16 at 15:34
  • maybe : http://stackoverflow.com/questions/10654971/create-text-file-from-string-using-js-and-html5 – epascarello Nov 29 '16 at 15:35
  • In my code i have this line: `code reader.readAsArrayBuffer(changeEvent.target.files[0]); code` and then i send it to a function that get 'ArrayBuffer'. as i see here this function convert 'File' to 'ArrayBuffer'. therefor i want to convert my 'String' to 'File' and then use this function above. – Tom Cohen Nov 29 '16 at 15:44
  • Which browser? version? – Vinay Nov 29 '16 at 15:44
  • desktop application (using electron) – Tom Cohen Nov 29 '16 at 15:47

1 Answers1

14

First you have to create blob from Javascript object and that blob object can be passed to File() constructor to create a File Object.Hope this helps.

 var contents = fs.readFileSync('./dmv_file_reader.txt').toString()
 var blob = new Blob([contents], { type: 'text/plain' });
 var file = new File([blob], "foo.txt", {type: "text/plain"});
sachin
  • 777
  • 5
  • 10
  • 1
    I think you can go straight to file by just having 'contents' where 'blob' is. – nda May 17 '22 at 00:47