How to Check with SharePoint JSOM if File or Folder Exists
Here’s a code snippet showing how to use SharePoint’s JavaScript Object Model (JSOM) to determine whether a file or folder exists:
var ctx = SP.ClientContext.get_current(); // Could also call getFileByServerRelativeUrl() here. Doesn't matter. // The way this works is identical for files and folders. var folder = ctx.get_web().getFolderByServerRelativeUrl("/path/to/folder"); ctx.load(folder, "Exists", "Name"); ctx.executeQueryAsync( function() { if (folder.get_exists()) { // Folder exists and isn't hidden from us. Print its name. console.log(folder.get_name()); } else { console.log("Folder exists but is hidden (security-trimmed) for us."); } }, function(s, args) { if (args.get_errorTypeName() === "System.IO.FileNotFoundException") { // Folder doesn't exist at all. console.log("Folder does not exist."); } else { // An unexpected error occurred. console.log("Error: " + args.get_message()); } } );
The behavior of the client-side object model is slightly different depending whether the file or folder truly doesn’t exist or is just being hidden from us due to security-trimming.
The code snippet above takes this distinction into account and shows you how to check for both conditions.
You can also issue a CAML query against a document library (if that’s where your file/folder lives) to see if an item representing your file/folder exists, but the above snippet is intended to demonstrate the procedure for actual SP.File and SP.Folder objects.
原文地址:https://yieldreturnpost.wordpress.com/2015/08/25/how-to-check-with-sharepoint-jsom-if-file-or-folder-exists/