如何在给定HttpPostedFile的情况下将文件上载到文档库

时间:2011-07-11 18:48:02

标签: c# asp.net sharepoint

我有一个HttpPostedFile对象,在文件本地上传到服务器之后,我想将该临时文件移动到sharepoint中的文档库中。这是我的代码:

private void UploadWholeFile(HttpContext context, List<FilesStatus> statuses) {
            for (int i = 0; i < context.Request.Files.Count; i++) {
                HttpPostedFile file = context.Request.Files[i];
                file.SaveAs(ingestPath + Path.GetFileName(file.FileName));
                string fileName = Path.GetFileName(file.FileName);
}

有人能给我一些示例代码吗?我找到了Streams的教程,但不太确定它在我的情况下是否会起作用

2 个答案:

答案 0 :(得分:0)

我有一个代码示例供你参考:

以下是将Files内容转换为字节数组缓冲区的代码:

var file = (HttpPostedFileBase)Request.Files[0];
var buffer = new byte[file.ContentLength];
file.InputStream.Read(buffer, 0, file.ContentLength);
var root = HttpContext.Current.Server.MapPath(@"~/_temp");
var temp_file_name = "somefilename";
var path = Path.Combine(root, temp_file_name);

using (var fs = new FileStream(path, FileMode.Create))
{
    using (var br = new BinaryWriter(fs))
    {
        br.Write(buffer);
    }
}

答案 1 :(得分:0)

将以file.SaveAs开头的两行替换为以下内容:

var myDocumentLibrary = SPContext.Current.Web.Folders["MyDocumentLibrary"];
var myFile = myDocumentLibrary.Files.Add(file.Name, file.FileContent, true);