SPFileCollection.Add method (String, Stream, SPUser, SPUser, DateTime, DateTime)
使用指定的 URL,包含檔案的內容,表示建立和上次修改檔案,並且時一樣,指定的DateTime值的使用者的使用者物件的資料流的集合中建立的檔案。
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
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
Type: System.String檔案的站台相對 URL。
file
Type: System.IO.Stream包含檔案的資料流。
createdBy
Type: Microsoft.SharePoint.SPUser建立檔案的使用者。
modifiedBy
Type: Microsoft.SharePoint.SPUser上次修改檔案的使用者。
timeCreated
Type: System.DateTime日期和時間時建立檔案。若要設定建立的時間,您必須也並且設定此值與檔案相關聯之清單項目的索引子透過呼叫Update方法。
timeLastModified
Type: System.DateTime日期和時間上次修改檔案。若要設定上次修改時間,您必須也設定此值,透過與檔案相關聯之清單項目的索引子,呼叫Update方法。
傳回值
Type: Microsoft.SharePoint.SPFile
新加入的檔案。
Examples
下列程式碼範例將複製每個檔案在網站上的文件庫中另一個網站中的文件庫中。範例保留的時間建立和上次修改的原始程式庫的值。
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。 |