|
-
Mar 8th, 2019, 12:51 PM
#1
Webserver Temp Folder Substitute
So I was using the Path.GetTempFileName() function to generate a temp file for writing to before moving to the webserver. Works fine locally because I have permissions to the temp directory but when published the webserver blocks or have very restrictive permissions to its temp directory. Sure its a security reason but question: what would be a good alternative for generating temp files on the server that customers using the website would have read/write access to?
Im thinking that generating a guid in a folder they should have access too should help eliminate any naming collisions of the file name as an initial workaround.
Any issues with that or better solutions?
Thansk
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Mar 8th, 2019, 12:59 PM
#2
Re: Webserver Temp Folder Substitute
Just found Path.GetRandomFileName(). Appears to be good for generating the random file name and the documentation states its preferred over GetTempFileName BUT how well does it randomize? Chances of generating a duplicate file name that the user may have already generated or another user?
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Mar 8th, 2019, 01:02 PM
#3
Re: Webserver Temp Folder Substitute
Looks like it uses 8.3 with (0-9 + a-z) for each character, so 36^11 possible file names. That's an 18 digit number...I think you'll be fine.
Edit - and you could always add additional randomly generated digits to the front of the filename returned by GetRandomFileName to ensure no duplicates in the remaining lifetime of the universe.
Edit2 - or you could add a formatted date/timestamp to the front of the filename which would mean that two files would have to be generated in the same millisecond with the exact same randomly chosen filename from GetRandomFileName in order to collide.
Last edited by OptionBase1; Mar 8th, 2019 at 01:08 PM.
-
Mar 8th, 2019, 01:10 PM
#4
Re: Webserver Temp Folder Substitute
Thanks!
I think if I use Guid.NewGuid.ToString() it will be even better and I wont have to write that extra line of code to determine the file extension as I will be setting it 
Any other options out there?
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Mar 8th, 2019, 02:31 PM
#5
Re: Webserver Temp Folder Substitute
My web users all get a GUID upon initial login to the site - and whenever I serve up a file for download or viewing I put it in a folder named as that GUID.
The filenames are all pretty names - so they can print and download.
Why do you want a random filename?
-
Mar 8th, 2019, 06:21 PM
#6
Re: Webserver Temp Folder Substitute
I went with guids. Im needing a random file name as I generate it from a template file. Once its generated and saved it moved to its proper folder location and name is changed to its proper name. I have a Document table with Path and Name but teh file ends up getting renamed to the documentid yet the "Name" remains the same si I can have several documents as "Document.docx", for ex, in teh table yet in the folder they are all named by DocumentID table index identifier.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|