Windows username and javascript variable

I asked this question a few weeks ago and recently returned to it and solved it. I have a hidden input that looks like this:

<input style="display:none;" class="fileDialog" type="file" nwworkingdir="C:\Users\" nwsaveas/> 

A save dialog box appears in the directory specified by nwworkingdir . I would like the default location to be the Pictures user, but I find it difficult to get the system username dynamically using javascript. I need a username because the path is usually C:\Users\USERNAME\Pictures. I have tried constants such as C:\Users\USERNAME\Pictures. I have tried constants such as ssfMYPICTURES and CSIDL_PROFILE`, but javascript does not recognize them, or I use them incorrectly.

The project is in node -webkit, so a solution using javascript, node.js or the node -webkit API should work.

0
javascript filesystems node-webkit
source share
1 answer

Solution for future readers:

Node.js in "screen_shot.js":

 exports.getUserHome = function() { return process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME']; } 

header js in index.html:

  $(document).ready(function() { var sc= require('screen_shot'); $('.fileDialog').each(function(i) { $(this).attr('nwworkingdir', sc.getUserHome() + '\\Pictures'); }); }); var sc= require('screen_shot'); function wait(e) { var page = $(e).closest('[data-role="page"]'); $('#close-popup').click(); page.find('.fileDialog').click(); } function screen_shot(fn) { html2canvas($('body'), { onrendered: function(canvas) { var img = canvas.toDataURL("image/png").split(',')[1]; sc.buildFile(fn, img); } }); } $('["..."]').live("pagecreate", function() { $(this).find('.fileDialog').change(function() {screen_shot($('.fileDialog').val() + '.png');}); }); $('[id^="..."]').live("pagecreate", function() { $(this).find('.fileDialog').change(function() {screen_shot($('.fileDialog').val() + '.png');}); }); $('[id^="..."]').live("pagecreate", function() { $(this).find('.fileDialog').change(function() {screen_shot($('.fileDialog').val() + '.png');}); }); 

dialog and button:

  <input style="display:none;" class="fileDialog" type="file" nwworkingdir="" nwsaveas/> <a href="#" onclick="wait(this);" data-role="button" data-theme="j">Save As</a> 
+1
source share

All Articles