使用指定的 URL、 一个流,其中包含文件的内容,用户对象表示用户的创建和上次修改文件,并在这样做时指定的DateTime值的集合中创建的文件。
命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
Public Function Add ( _
urlOfFile As String, _
file As Stream, _
createdBy As SPUser, _
modifiedBy As SPUser, _
timeCreated As DateTime, _
timeLastModified As DateTime _
) As SPFile
用法
Dim instance As SPFileCollection
Dim urlOfFile As String
Dim file As Stream
Dim createdBy As SPUser
Dim modifiedBy As SPUser
Dim timeCreated As DateTime
Dim timeLastModified As DateTime
Dim returnValue As SPFile
returnValue = instance.Add(urlOfFile, _
file, createdBy, modifiedBy, timeCreated, _
timeLastModified)
public SPFile Add(
string urlOfFile,
Stream file,
SPUser createdBy,
SPUser modifiedBy,
DateTime timeCreated,
DateTime timeLastModified
)
参数
urlOfFile
类型:System.String文件相对于网站的 URL。
file
类型:System.IO.Stream一个流,其中包含的文件。
createdBy
类型:Microsoft.SharePoint.SPUser创建该文件的用户。
modifiedBy
类型:Microsoft.SharePoint.SPUser上次修改该文件的用户。
timeCreated
类型:System.DateTime日期和文件的创建的时间。若要设置创建时间,您必须设置此值通过与文件相关联的列表项的索引器和调用Update方法。
timeLastModified
类型:System.DateTime日期和上次修改该文件的时间。若要设置上次修改的时间,您必须设置此值通过与文件相关联的列表项的索引器和调用Update方法。
返回值
类型:Microsoft.SharePoint.SPFile
新添加的文件。
示例
下面的代码示例将复制每个文件在文档库中的 Web 站点到另一个网站中的文档库。创建时间和上次修改值的原始库示例保留。
Try
Dim srcSiteCollection As New SPSite("http://SourceSiteCollection")
Try
Dim srcWebSite As SPWeb = srcSiteCollection.AllWebs("SourceWebSite")
Dim srcList As SPList = srcWebSite.GetList("SourceWebSite/SourceDocLib")
Dim srcItems As SPListItemCollection = srcList.Items
Dim srcItem As SPListItem
For Each srcItem In srcItems
Dim srcFile As SPFile = srcItem.File
Dim srcStream As Stream = srcFile.OpenBinaryStream()
Dim destinSiteCollection As New SPSite("http://DestinationSiteCollection")
Try
Dim destinWebSite As SPWeb = destinSiteCollection.OpenWeb("DestinationWebSite")
Dim destinList As SPList = destinWebSite.GetList("DestinationWebSite/DestinationDocLib")
Dim destinFiles As SPFileCollection = destinList.RootFolder.Files
Try
Dim destinFile As SPFile = destinFiles.Add(destinList + "/" + srcFile.Name, srcStream, srcFile.Author, srcFile.ModifiedBy, srcFile.TimeCreated, srcFile.TimeLastModified)
Dim destinItem As SPListItem = destinFile.Item
destinItem("Created") = srcFile.TimeCreated
destinItem("Modified") = srcFile.TimeLastModified
destinItem.Update()
Catch Else
End Try
Finally
destinSiteCollection.Dispose()
End Try
Next srcItem
Finally
srcSiteCollection.Dispose()
End Try
Catch Else
End Try
try
{
using (SPSite oSiteCollectionSrc = new SPSite("http://SourceSiteCollection"))
{
SPWeb oWebsiteSrc = oSiteCollectionSrc.AllWebs["SourceWebSite"];
SPList oListSrc = oWebsiteSrc.GetList("SourceWebSite/SourceDocLib");
SPListItemCollection collListItemsSrc = oListSrc.Items;
foreach (SPListItem oListItemSrc in collListItemsSrc)
{
SPFile oFileSrc = oListItemSrc.File;
Stream srcStream = oFileSrc.OpenBinaryStream();
using (SPSite oSiteCollectionDest = new SPSite("http://DestinationSiteCollection"))
{
SPWeb oWebsiteDest = oSiteCollectionDest.OpenWeb("DestinationWebSite");
SPList oListDest = oWebsiteDest.GetList("DestinationWebSite/DestinationDocLib");
SPFileCollection collFilesDest = oListDest.RootFolder.Files;
try
{
SPFile oFileDest = collFilesDest.Add(oListDest + @"/" + oFileSrc.Name, srcStream, oFileSrc.Author, oFileSrc.ModifiedBy, oFileSrc.TimeCreated, oFileSrc.TimeLastModified);
SPListItem oListItemDest = oFileDest.Item;
oListItemDest["Created"] = oFileDest.TimeCreated;
oListItemDest["Modified"] = oFileDest.TimeLastModified;
oListItemDest.Update();
}
catch { }
oWebsiteDest.Dispose();
}
}
oWebsiteSrc.Dispose();
}
}
catch { }
备注
某些对象实现IDisposable接口,并必须避免后不再需要保留这些对象在内存中。好的编码做法有关的信息,请参阅Disposing Objects。