WSS3SDK之:如何读取,拷贝和移动文件
2009-01-17 18:12
176 查看
我们可以通过SPWeb类的GetFolder方法返回某个特定的文件夹,然后访问其中某个文件。在实例化SPWeb对
象后(如mySite),使用SPFolder myFolder=mySite.GetFolder("Shared
Documents")(对于VB 2005为 Dim myFolder As SPFolder =
mySite.GetFolder("Shared Documents"))来返回网站中的共享文档(Shared Documents)文件夹。
下面的例子返回文件夹中文件的集合,并显示文件信息。
VB
Dim myFiles As SPFileCollection = myFolder.Files
Dim file As SPFile
For Each file In myFiles
Response.Write(file.Url.ToString() & "<BR>")
Response.Write(file.Length.ToString() & "<BR>")
Next file
C#
SPFileCollection myFiles = myFolder.Files;
foreach (SPFile file in myFiles)
{
Response.Write(file.Url.ToString() + "<BR>");
Response.Write(file.Length.ToString() + "<BR>");
}
上面的例子列出了文件夹中每个文件的URL和大小。
我们需要引用Microsoft.SharePoint命名空间。
如果要把文件从一个位置拷贝到别的地方,可以使用SPFile类的CopyTo方
法。下面的例子在Page_Load事件处理程序中实例化了当前站点上下文的SPWeb对象。在Click事件处理程序中,遍历了整个文件夹,列出各文件
的文件名和大小(以kb为单位),对于大小超过用户在textbox中指定值的文件,将拷贝一份到Archive文件夹。
VB
Private mySite As SPWeb
Private Sub Page_Load(sender As Object, e As System.EventArgs)
mySite = SPControl.GetContextWeb(Context)
End Sub 'Page_Load
Private Sub Button1_Click(sender As Object, e As System.EventArgs)
Dim maxSize As Integer = Convert.ToInt32(TextBox1.Text)
Dim myFolder As SPFolder = mySite.GetFolder("Shared Documents")
Dim myFiles As SPFileCollection = myFolder.Files
Dim file As SPFile
For Each file In myFiles
If file.Length > maxSize * 1024 Then
Response.Write(SPEncode.HtmlEncode(file.Name) & " :: "
& file.Length / 1024 & "kb<BR>")
file.CopyTo("Archive/" & file.Name, True)
End If
Next file
End Sub 'Button1_Click
C#
private SPWeb mySite;
private void Page_Load(object sender, System.EventArgs e)
{
mySite = SPControl.GetContextWeb(Context);
}
private void Button1_Click(object sender, System.EventArgs e)
{
int maxSize = Convert.ToInt32(TextBox1.Text);
SPFolder myFolder = mySite.GetFolder("Shared Documents");
SPFileCollection myFiles = myFolder.Files;
foreach (SPFile file in myFiles)
{
if (file.Length>(maxSize*1024))
{
Response.Write(SPEncode.HtmlEncode(file.Name) + ": "
+ file.Length/1024 + "kb<BR>");
file.CopyTo("Archive/" + file.Name, true);
}
}
}
该例中,CopyTo方法有两个参数,一个指定拷贝的目标URL地址,另一个布尔值用于指定是否覆盖目标文件夹中已有的同名文件。
您需要引用Microsoft.SharePoint,Microsoft.SharePoint.Utilities,Microsoft.SharePoint.WebControls命名空间。
下面的例子将移动共享文档(Shared Documents)中的所有文件夹到名为StorageFolder文件夹,并覆盖已存在的同名文件。
VB
Dim mySite As SPWeb = SPControl.GetContextWeb(Context)
Dim myFolder As SPFolder = mySite.GetFolder("Shared Documents")
Dim myFiles As SPFileCollection = myFolder.Files
Dim i As Integer
For i = myFiles.Count - 1 To 0 Step -1
myFiles(i).MoveTo("StorageFolder/" & myFiles(i).Name, True)
Next i
C#
SPWeb mySite = SPControl.GetContextWeb(Context);
SPFolder myFolder = mySite.GetFolder("Shared Documents");
SPFileCollection myFiles = myFolder.Files;
for (int i = myFiles.Count - 1; i > -1; i--)
{
myFiles[i].MoveTo("StorageFolder/" + myFiles[i].Name, true);
}
如上所示,当集合由于代码执行删除或移动项目而改变时,用于遍历集合的计数器必须采用递减。
该代码的运行需要引用Microsoft.SharePoint和Microsoft.SharePoint.WebControls命名空间。
象后(如mySite),使用SPFolder myFolder=mySite.GetFolder("Shared
Documents")(对于VB 2005为 Dim myFolder As SPFolder =
mySite.GetFolder("Shared Documents"))来返回网站中的共享文档(Shared Documents)文件夹。
下面的例子返回文件夹中文件的集合,并显示文件信息。
VB
Dim myFiles As SPFileCollection = myFolder.Files
Dim file As SPFile
For Each file In myFiles
Response.Write(file.Url.ToString() & "<BR>")
Response.Write(file.Length.ToString() & "<BR>")
Next file
C#
SPFileCollection myFiles = myFolder.Files;
foreach (SPFile file in myFiles)
{
Response.Write(file.Url.ToString() + "<BR>");
Response.Write(file.Length.ToString() + "<BR>");
}
上面的例子列出了文件夹中每个文件的URL和大小。
我们需要引用Microsoft.SharePoint命名空间。
如果要把文件从一个位置拷贝到别的地方,可以使用SPFile类的CopyTo方
法。下面的例子在Page_Load事件处理程序中实例化了当前站点上下文的SPWeb对象。在Click事件处理程序中,遍历了整个文件夹,列出各文件
的文件名和大小(以kb为单位),对于大小超过用户在textbox中指定值的文件,将拷贝一份到Archive文件夹。
VB
Private mySite As SPWeb
Private Sub Page_Load(sender As Object, e As System.EventArgs)
mySite = SPControl.GetContextWeb(Context)
End Sub 'Page_Load
Private Sub Button1_Click(sender As Object, e As System.EventArgs)
Dim maxSize As Integer = Convert.ToInt32(TextBox1.Text)
Dim myFolder As SPFolder = mySite.GetFolder("Shared Documents")
Dim myFiles As SPFileCollection = myFolder.Files
Dim file As SPFile
For Each file In myFiles
If file.Length > maxSize * 1024 Then
Response.Write(SPEncode.HtmlEncode(file.Name) & " :: "
& file.Length / 1024 & "kb<BR>")
file.CopyTo("Archive/" & file.Name, True)
End If
Next file
End Sub 'Button1_Click
C#
private SPWeb mySite;
private void Page_Load(object sender, System.EventArgs e)
{
mySite = SPControl.GetContextWeb(Context);
}
private void Button1_Click(object sender, System.EventArgs e)
{
int maxSize = Convert.ToInt32(TextBox1.Text);
SPFolder myFolder = mySite.GetFolder("Shared Documents");
SPFileCollection myFiles = myFolder.Files;
foreach (SPFile file in myFiles)
{
if (file.Length>(maxSize*1024))
{
Response.Write(SPEncode.HtmlEncode(file.Name) + ": "
+ file.Length/1024 + "kb<BR>");
file.CopyTo("Archive/" + file.Name, true);
}
}
}
该例中,CopyTo方法有两个参数,一个指定拷贝的目标URL地址,另一个布尔值用于指定是否覆盖目标文件夹中已有的同名文件。
您需要引用Microsoft.SharePoint,Microsoft.SharePoint.Utilities,Microsoft.SharePoint.WebControls命名空间。
下面的例子将移动共享文档(Shared Documents)中的所有文件夹到名为StorageFolder文件夹,并覆盖已存在的同名文件。
VB
Dim mySite As SPWeb = SPControl.GetContextWeb(Context)
Dim myFolder As SPFolder = mySite.GetFolder("Shared Documents")
Dim myFiles As SPFileCollection = myFolder.Files
Dim i As Integer
For i = myFiles.Count - 1 To 0 Step -1
myFiles(i).MoveTo("StorageFolder/" & myFiles(i).Name, True)
Next i
C#
SPWeb mySite = SPControl.GetContextWeb(Context);
SPFolder myFolder = mySite.GetFolder("Shared Documents");
SPFileCollection myFiles = myFolder.Files;
for (int i = myFiles.Count - 1; i > -1; i--)
{
myFiles[i].MoveTo("StorageFolder/" + myFiles[i].Name, true);
}
如上所示,当集合由于代码执行删除或移动项目而改变时,用于遍历集合的计数器必须采用递减。
该代码的运行需要引用Microsoft.SharePoint和Microsoft.SharePoint.WebControls命名空间。
相关文章推荐
- WSS3SDK之:如何从本地文件夹上传文件到SharePoint站点
- WSS3SDK之:如何通过Feature预置一个文件
- 如何在Linux环境下利用移动硬盘进行文件拷贝工作
- Mac如何拷贝文件到移动硬盘
- 种强行指定dll assembly读取其相应*.dll.config配置文件的方法(又名:如何创建.net 的DCOM)(转自:http://blog.csdn.net/shaily/article)
- MATLAB如何生成、读取.mat数据库文件?
- 公司拷贝不了文件到U盘,如何处理呢?
- 如何有效的使用C#读取文件
- Java, 如何从Excel中读取数据到文件中
- C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
- JS如何读取二进制文件?
- 移动硬盘文件或目录损坏且无法读取怎么解决
- 对应诺言,写了篇文章,“如何使用Serialization 进行文件存储/读取数据 (上)”, 请大家评评。
- DLL和EXE如何读取包含在自身的资源文件
- 如何在SpringBoot下读取自定义properties配置文件
- 如何在SpringBoot下读取自定义properties配置文件
- android中bluedroid如何读取pcm数据,并将其写入文件中?
- 在nodejs中如何用异步的方式读取一个文件
- 移动硬盘打不开,提示“文件或目录损坏无法读取”
- springMvc 如何通过注解@Value 读取配置文件中的内容(.properties)