Có cách nào khác ngoài lặp qua Tệp trong SPFolder để xác định xem tên tệp (chuỗi) có tồn tại không?Cách xác định xem tệp có tồn tại trong SharePoint SPFolder
Trả lời
Bạn có thể, nếu bạn biết địa chỉ URL cũng sử dụng tài sản SPFile.Exists như sau:
using (SPSite site = new SPSite("http://server/site"))
using (SPWeb web = site.OpenWeb())
{
SPFile file = web.GetFile("/site/doclib/folder/filename.ext");
if (file.Exists)
{
...
}
}
Một sẽ về suy nghĩ đầu tiên giả SPWeb.GetFile ném một ngoại lệ nếu các tập tin không tồn tại. Nhưng như bạn thấy đây không phải là trường hợp - nó sẽ thực sự trả về một đối tượng SPFile.
Sử dụng một truy vấn CAML là cách hiệu quả nhất (example here)
CAML có thể là một chút khó sử dụng, vì vậy cũng đáng để xem xét các nhà cung cấp Linq to Sharepoint, mà giấu các chi tiết của CAML xa bạn.
Nhưng nếu bạn đang sử dụng SP 2010 Khách hàng OM, nó sẽ thực sự ném một ngoại lệ nếu các tập tin không tồn tại:
using(var clientContext = new ClientContext(site))
{
Web web = clientContext.Web;
Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl("/site/doclib/folder/filename.ext");
bool bExists = false;
try
{
clientContext.Load(file);
clientContext.ExecuteQuery(); //Raises exception if the file doesn't exist
bExists = file.Exists; //may not be needed - here for good measure
}
catch{ }
if (bExists)
{
.
.
}
}
Ngoại lệ thường do sự cố gắng để làm bối cảnh .Tải tập tin). Nếu tệp không tồn tại, bạn không thể tải đối tượng đầy đủ để bản thân kiểm tra sẽ phá vỡ kết quả. Ngoại lệ sẽ không bị ném nếu bạn thay thế clientContext.Load (tệp) bằng clientContext.Load (tệp, f => f.Exists). –
- 1. Cách xác định xem GraphicsEnvironment có tồn tại hay không
- 2. Clojure: xác định xem hàm có tồn tại
- 3. Cách kiểm tra xem tệp có tồn tại trong makefile
- 4. Cách tốt nhất để xác định xem thuộc tính XML có tồn tại trong Flex
- 5. Cách kiểm tra xem tệp có tồn tại từ url
- 6. Kiểm tra xem tệp có tồn tại trong Yii
- 7. Cách xác minh xem tệp có tồn tại với tập lệnh VB
- 8. Cách nhanh chóng để xác định xem một PID có tồn tại trên (Windows) không?
- 9. Làm cách nào để xác định xem có tồn tại lối tắt màn hình chính không?
- 10. Kiểm tra xem tệp có tồn tại trong ksh
- 11. Cách kiểm tra xem tệp có tồn tại ở đường dẫn do người dùng xác định không?
- 12. C++ boost unordered_map - xác định xem khóa có tồn tại trong vùng chứa
- 13. Xác định xem tệp có tồn tại hay không bằng cách sử dụng C# và giải quyết đường dẫn UNC
- 14. CMake kiểm tra xem tệp cục bộ có tồn tại
- 15. Xác định xem bảng có tồn tại trong SQL Server CE không?
- 16. Cách nhanh chóng để xác định xem một trường tồn tại trong bảng ORACLE
- 17. Cách kiểm tra xem tệp có tồn tại trong Qt trong C++
- 18. Không thể xác định xem hàng đợi có tên định dạng được chỉ định có tồn tại hay không
- 19. Đường ray 3.1: Xác định xem nội dung có tồn tại
- 20. Làm cách nào để xác định liệu thư mục phụ có tồn tại trong C# không?
- 21. Cách kiểm tra xem tệp có tồn tại trong một thư mục trong thẻ sd
- 22. Cố gắng kiểm tra xem tệp có tồn tại trong bộ nhớ trong
- 23. Cách kiểm tra xem tài sản có tồn tại không?
- 24. Làm cách nào để xác thực xem cột có tồn tại trong đối tượng DataRow không?
- 25. Trong ColdFusion, làm cách nào để xác định xem biến chuỗi truy vấn có tồn tại không?
- 26. cách ưa thích để xác định xem một thủ tục lưu trữ tồn tại
- 27. Cách nhanh nhất để xác định xem một hàng có tồn tại bằng cách sử dụng LINQ to SQL không?
- 28. Làm cách nào để kiểm tra xem tệp có tồn tại trong Perl không?
- 29. Cách kiểm tra xem tệp có tồn tại trong một thư mục không?
- 30. Cách kiểm tra xem tệp uri đã biết có tồn tại trong bộ nhớ Android không?
Làm việc đối với tôi, Cảm ơn – User5590