Below is a code snippet is written in Visual Studio Console Application (C#.Net) which uses the SharePoint Server Object Model.
You can use the same code in a web part or extend it to add more functionality and validations. Make sure the SharePoint user has enough permissions (contribute ideally) to add documents or use "RunWithElevatedPrivileges"
Name: Code to upload file to SharePoint Document library - using server Object Model
String site = "http://sharepointsiteurl"; //URL of SharePoint site
String library = "Shared Documents"; //Library Name
String filePath = @"C:\testfile.txt"; //Entire path of file to upload
try
{
using (SPSite spSite = new SPSite(site))
{
using (SPWeb spWeb = spSite.OpenWeb())
{
//Check if file exists in specified path
if (!System.IO.File.Exists(filePath))
Console.WriteLine("Error - Specified file not found.");
//Get handle of library
SPFolder spLibrary = spWeb.Folders[library];
//Extract file name (file will be uploaded with this name)
String fileName = System.IO.Path.GetFileName(filePath);
//Read file for uploading
FileStream fileStream = File.OpenRead(filePath);
//Replace existing file
Boolean replaceExistingFile = true;
//Upload document to library
SPFile spfile = spLibrary.Files.Add(fileName, fileStream, replaceExistingFile);
spfile.CheckIn("file uploaded via code");
spLibrary.Update();
}
}
Console.WriteLine("File uploaded successfully !!");
Console.ReadLine();
}
catch (Exception exp)
{
Console.WriteLine("Error uploading file - " + exp.Message);
Console.ReadLine();
}
Troubleshooting issues
- You should not run into any major issue if this is written in a web part code
- If using a Console application, make sure Microsoft.SharePoint.dll reference is added
- Microsoft.SharePoint and System.IO is added in the using directive
- Console - If you get SharePoint System.IO.FileNotFoundException, make sure the build platform is changed to 64 bit (refer here for more details)
- Make sure RunWithElevatedPrivileges is used if you get access denied error
More Posts related to Sharepoint,
- [Solved] SharePoint Access Denied error editing Document Name
- See actual SharePoint error exception modify web.config
- SharePoint 2010 DataForm Unable to display this Web Part System.StackOverflowException
- SharePoint List redirect user after submitting form NewForm.aspx
- How to retrieve all SharePoint Online List Items using Rest API
- SharePoint workflow Canceled - Coercion Failed: Unable to transform the input lookup data into the requested type
- SharePoint error cannot connect to the configuration database
- Not receiving email notification alert in SharePoint Online workflow - Power Automate, FLOW
- How to create SharePoint List Item programmatically
- SharePoint CAML query error - The XML source is not correct
- Sharepoint Server 2016 installation Prerequisites with download links
- Sharepoint errors were found when compiling the workflow
- Send Email with attachment using SharePoint PowerShell, SMTP server
- Sign in as different user missing in SharePoint 2013
- SharePoint List excel import - This table exceeds the maximum number of supported rows
- SharePoint Managed Metadata Hidden Taxonomy List - TaxonomyHiddenList
- Changed AD user display name showing old name in SharePoint
- How to migrate SharePoint Designer 2010 workflow to Power Automate FLOW (Microsoft Office 365)
- SharePoint Server 2016 error Microsoft Office Online Server 2016 cant be installed on the same machine as a Microsoft SharePoint Server product
- Fix SharePoint 2019 installation error This product requires Visual C++ Redistributable Package for Visual Studio 2017
- Deploy SharePoint wsp solution package using PowerShell
- How to delete SharePoint List Item programmatically
- New-SPLogFile PowerShell - create new SharePoint log file
- SharePoint An unexpected error has occurred - Correlation ID and Merge-SPlogfile
- Change SharePoint search results FullTextSqlQuery RowLimit 10000
- SharePoint 2010 August 2015 Update KB3055049 - Duplicate Document ID issue bug fixed
- Bypass domain name for IIS site (SharePoint)
- SharePoint error - Your organization doesn't allow sharing with users from this domain. Please contact your IT department for help.
- 'Edit Document' Requires a Windows Sharepoint Services-compatible application and Microsoft Internet Explorer 6.0 or higher
- SharePoint list excel import error - Title is a required filed and can't be empty
- SharePoint error - An exception occurred when trying to issue security token: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms..
- Cannot load PowerApps form in SharePoint Online due to repeated authentication
- How to hide quick launch in SharePoint
- How to exclude results from SharePoint Search
- SharePoint Designer Workflow error - Coercion Failed: Input cannot be null for this coercion
- Get-ADUser PowerShell - Get AD user details using email address
- PowerShell iterate and get all SharePoint sites and sub sites
- SharePoint Server 2016 IT Preview Deprecated Removed features
- SharePoint excel error - A problem occurred while connecting to the server. If the problem continues, contact your administrator.
- Merge-SPlogfile PowerShell - SharePoint Correlation ID error
- SharePoint Server 2016 IT Preview - new improved Features and Enhancements
- Recover SharePoint if the SQL Server IP changes
- SharePoint PowerShell Merge-SPLogFile filter by time using StartTime EndTime
- SharePoint formula - Calculated columns cannot contain volatile functions like Today and Me
- [Solved] SharePoint System.IO.FileNotFoundException was unhandled
More Posts:
- How to Disable EditText Keyboard Android App - Android
- Using Document Map in Notepad++ - NotepadPlusPlus
- Word wrap text in Notepad++ - NotepadPlusPlus
- Android read text file from internal storage - Android
- SharePoint installation - Appfabric installation failed because installer MSI returned with error code:1603 - SharePoint
- Calculate Area of Trapezoid - C-Program
- How to Configure Eclipse keymap in IntelliJ IDE - Android-Studio
- Get Button Text onClick Android App - Android
- Pdf Text to Speech option in Mac OS X Preview App - Mac-OS-X
- Android Studio 1.3 beta now Available for Developers - Android-Studio
- Fixing Android unknown error 961 while downloading app - Android
- How to rename package name in Android Studio - Android-Studio
- Notepad++ Editor alternatives for Mac OS X - NotepadPlusPlus
- Share Story Feed on Facebook using URL - Facebook
- How to exclude results from SharePoint Search - SharePoint