Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

Salvete! Is there a way in Sharepoint to have a file be uploaded to a location in a custom virtual directory instead of sharepoint?

I have about 120 users, all of whom need to deliver to our server monthly files ranging anywhere from 7mb to 500mb. I am only using SQL Express (limit of 10gb) so that will fill up very fast.

I am thinking that I can create a virtual directory (in iis7) inside my portal project that links to a particular directory, like D:\mydir, and inside of that directory, there will be a folder for each of my 120 users, with AD permissions set for those users only.

Is it possible to make sharepoint move files into those directories, or would it be too difficult to make a custom web part (which I have never done) that provides the uploading capability for them?

Using this directory could save my sql space, and make it easier for large files to be stored on the server. Then I could run an application on the server to delete files older than 30 days. It would also make it very easy for my home team to get to those files via unc share.

[update] Here is a solution that I am trying out: I put a custom uploader aspx page in a page-viewer web-part. This will let me upload the file directly to the file-system. It will require some other code, however, to add a reference to sharepoint to indicate the action was performed (logging it in the list). Here is the link: http://msdn.microsoft.com/en-us/library/aa479405.aspx

However, I need to get a slice of the parent page's url; here is the stackexchange thread, if you want to assist me! How to get the url name of a subsite from a webpart?

I haven't accepted any answers yet because I still need to try out Oyshik Moitra's idea too. I am only posting my own in order to show some progress.

share|improve this question
add comment

4 Answers

The simplest solution would be to use remote blob storage to move the file content out of SQL to actual disk storage. AvePoint DocAve Extender is free. See http://www.prweb.com/releases/2010/03/prweb3743974.htm on how to get the free license.

share|improve this answer
    
Thanks for answering. I am looking at that AvePoint DocAve Extender, but it looks like I have to install their whole suite, wait for the trial to expire, and then request a license code (free) from them. Have you tried this? –  BGM Apr 9 '12 at 15:05
    
Yea that's about right. It's a marketing ploy to try to get you to buy the whole thing. But, after the trial you have the Extender. –  John Chapman Apr 9 '12 at 23:47
    
Are you able to uninstall the rest of what you don't want and just keep what you do want (the extender), or is all that baggage still hanging around? –  BGM Apr 10 '12 at 3:30
    
Still, using blob storage keeps all the information still in blobs, albeit blobs that are outside of SQL. I would like real file-system access too on the LAN side of things. –  BGM Apr 10 '12 at 5:01
    
Not sure if the rest can be uninstalled, I just don't have those features enabled on the farm I have used this on. The purpose of this is to simply off-load the blobs to file storage to save on SQL storage. If you want to be able to interact with the files outside of SharePoint where they are stored, this isn't what you are looking for. –  John Chapman Apr 11 '12 at 14:27
add comment

You can create a customm web part the uploads the file to a normal folder, and another web part to show the files in a proper structure (Folders / Tree like).

But doing this prevent you from using the ready-made features in SharePoint.

share|improve this answer
    
This was actually sort of along the lines I was thinking; however, I have not yet tried to create my own web parts, but I like the idea. Any idea where a nice template is available? I know I can always google, but I like other people's real recommendations. –  BGM Apr 9 '12 at 15:07
add comment

Did not get the exact requirement (i.e security and accessibility etc) but if the main aim is just to move the files then you can try to do something like this:

  1. Create a document library to store the files so the user can come up and upload it just the way as he would if the file were to be stored on the server. There is no coding required in this step.

  2. Attach an eventhandler to the library or create a timer job that will silently move the files from the folder to physical folder in question. For this you need not create a virtual directory. You can also attach the physical path to the document library list item so that at later point of time if the user wants to revisit his document then you will know where exactly to pick it from.

For info on how to create a:

  1. EventHandler visit http://msdn.microsoft.com/en-us/library/ms437502.aspx
  2. TimeJobs visit http://msdn.microsoft.com/en-us/library/hh528519.aspx

Hope this helps.

Cheers

--OM

share|improve this answer
    
Have you done this before? I like the idea. –  BGM Apr 9 '12 at 15:08
add comment
up vote 0 down vote accepted

Here is what I finally worked out: I put a custom uploader aspx page (using NeatUpload) in a page-viewer web-part. This will let me upload the file directly to the file-system, bypassing Sharepoint's database altogether.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.