首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >system.drawing.image到spfile

system.drawing.image到spfile
EN

Stack Overflow用户
提问于 2012-05-21 21:07:02
回答 2查看 1.5K关注 0票数 4

我有一个图像需要保存在共享文档下的Sharepoint站点中

由于各种原因,图像必须保存在system.drawing.image中,并保存在sharepoint站点内的共享文档中。它不必保存在本地硬盘中。

你有什么解决方案吗?

到目前为止,我还在尝试

代码语言:javascript
复制
 MemoryStream ms = new MemoryStream();
 imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
 byte[] imagebyte = ms.ToArray(); 

然后保存二进制函数的流阅读器,但没有joy

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-21 21:34:12

10开始,您需要更改此处的一些硬编码设置

代码语言:javascript
复制
 public void addToSharepointImageList(string folderName, string fileName, byte[] content)
    {
        string path = @"\\yoursite\yourlistname\";
        string baseSharePointPath = "http://yoursite/";
        string listName = "yourlistname"; 
        SharePointImagingService.Imaging svc = null;

        try
        {
            path += folderName;
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            #region create sharepoint service

            svc = new SharePointImagingService.Imaging();

            NetworkCredential nc = new NetworkCredential("username", "password", "domain");
            svc.Credentials = nc;
            //svc.Credentials = System.Net.CredentialCache.DefaultCredentials;
            svc.Url = baseSharePointPath + listName+ "/_vti_bin/imaging.asmx";
            svc.Discover();

            #endregion

            svc.Upload(baseSharePointPath + listName, folderName, content, fileName, true);
        }
        catch (Exception e)
        {
            //deal with error
        }
        finally
        {
            svc.Dispose();
        }

    }

或者,如果您只是尝试将文件直接保存到非图像列表中,您可以将sharepoint视为一个巨大的文件共享,只需打开一个文件流并在其中写入字节数组。

票数 1
EN

Stack Overflow用户

发布于 2012-05-22 18:03:25

过了一段时间,我设法找到了一个避免图片库的解决方案

代码语言:javascript
复制
   void imageSave(System.Drawing.Image imageTobeSaved)
    {
        using (SPSite site = new SPSite("http://sptestsite/"))
        {
            using (SPWeb web = site.RootWeb)
            {
                SPFolder myLibrary = web.Folders["Shared%20Documents"];


                var stream = new System.IO.MemoryStream();
                string filename = "picture.jpg";          
                MemoryStream ms = new MemoryStream();
                imageTobeSaved.Save(ms, System.Drawing.Imaging.ImageFormat.jpg);
                byte[] ImageByte = ms.ToArray();

                SPFile spfile = myLibrary.Files.Add(filename, ImageByte);
                myLibrary.Update();


            }
        }
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10685832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档