none
ローカルのファイルをSharePointServerにアップロード RRS feed

  • 質問

  • ローカルで作成したファイルを、Share Point Server のドキュメントセンターにアップロードする処理を

    プログラムで行う方法について、教えて頂けますでしょうか。

     

    言語はVisual Basicで、Share Point Server は2003を使用しています。

     

    単純に「System.IO.File.Copy」等のメソッドで

    ネットワークフォルダとしてパスを指定して保存するのかと思っていたのですが、

    ドキュメントセンターにアップロードされたファイルは、どこに保存されているのかが不明でした。

    (手動でドキュメントセンターにアップロードしたファイルを、Share Point Server上で検索しても見つかりませんでした)

    2008年9月30日 11:30

回答

  • ちょっと時間が経ってしまっていますが、参考にしてください。

     

    >手動でドキュメントセンターにアップロードしたファイルを、Share Point Server上で検索しても見つかりませんでした

     

    ファイルのデータ自体はサーバーのデータベースに格納されています。

    クライアントから見るとWebDAVでアクセス可能なはずです。

    Webサーバーがパスを解析して、データを出し入れしています。

     

    System.IO.Fileでは残念ながらコピーできないと思います。(.NET 2.0では無理です。3.0以降は未確認です)

    2008年11月27日 9:14
  • SharePoint のカスタム Web アプリケーションを作成し、その aspx ファイルに対して、外部から(WebHttpRequest  クラスを利用して)ファイルを POSTするようなしかけを組んだことがありますので、実現できると思います。

     

    質問1

    私が実装した時は VB.NET 2005 でしたが、2008 でも問題ないと思います。

     

    質問2

    問題ないと思います。

    開発する際には、SharePoint.dll の参照を追加する必要がありますので、WSS3.0 のサービスをインストールした環境に Visual Studio をインストールして開発するのが手っ取り早いでしょう。

     

    質問3

    http://msdn.microsoft.com/ja-jp/library/cc420559.aspx

    http://dobon.net/vb/dotnet/internet/webrequestpost.html

     

    ご参考になれば幸いです。

     

    2008年12月22日 5:56

すべての返信

  • こんにちは、フォーラムオペレータ大久保です。

     

    意味が違ってましたらごめんなさい。

    ブラウザで、Sharepoint サイト上のアップロード先に指定したい場所を開き、Sharepoint メニュの「操作」-「Windows エクスプローラで開く」 をクリックすると、対応する場所をエクスプローラで開けます。

    エクスプローラで確認できるパスにファイルを格納すれば、Sharepoint サイト上にも格納したファイルが入りますが、こういうことではないんでしょうか?

     

    # ちなみに、私が確認した動作は手動での操作です。

    ## プログラムでコピーしても同じ結果になるとは思いますが、確認はしてないです。ごめんなさい

     

    2008年11月6日 5:03
  • ちょっと時間が経ってしまっていますが、参考にしてください。

     

    >手動でドキュメントセンターにアップロードしたファイルを、Share Point Server上で検索しても見つかりませんでした

     

    ファイルのデータ自体はサーバーのデータベースに格納されています。

    クライアントから見るとWebDAVでアクセス可能なはずです。

    Webサーバーがパスを解析して、データを出し入れしています。

     

    System.IO.Fileでは残念ながらコピーできないと思います。(.NET 2.0では無理です。3.0以降は未確認です)

    2008年11月27日 9:14
  • こんにちは、フォーラムオペレーターの鈴木裕子です

     

    Hirofumi HARADA さん、回答ありがとうございました!

     

    keibou さん、その後、いかがですか?進展してますでしょうか。

    keibou さんのその後が気になるところですが、同様の情報を探している方にこちらのスレッドをぜひ参考にしていただきたいと思い、勝手ながら私の方で回答チェックを付けさせていただきました。

    もし問題が未解決でしたら、遠慮なくチェックを解除して投稿を続けてください。

     

    なお、keibou さんのご希望とは少し違うと思うのですが、プログラムでファイルをアップロードする方法ということで、このような方法もご参考までに。

     

    [方法] ローカル フォルダから SharePoint サイトにファイルをアップロードする
    http://msdn.microsoft.com/ja-jp/library/ms454491.aspx

     

    これからもForumをご活用くださいね。

    何か情報を見つけられましたら、ぜひ投稿していただければと思います

    2008年12月11日 5:12
    モデレータ
  • 横から申し訳ありません、私も類似の件で方法を探しております。

     

    SharePointService3.0を用いて、ユーザーに共有ドキュメントサイトを公開し、ここにユーザー毎のフォルダを作って管理しているのですが、このフォルダ内にプログラム経由でファイルをおきたいのです。

     

    現在、当方では社員毎の業務集計をテキストファイルとして月次生成しメールで個人に送信するまでを一連のプログラムで自動実行しているのですが、これをSharePointServiceサイトの共有ドキュメントのユーザー毎のフォルダにアップロードしたいのです。

    ユーザーは数百人以上おり、手作業でのアップロードは不可能ですので、月次で自動集計により生成されるテキストファイルをそのまま自動的にアップロードしたいのです。

    プログラムは同じネットワークセグメント内のSharePointServiceサイトとは別のサーバから、送信プログラムをバッチファイルから起動させる形になりますが、やり方が一切わからず、どの様なツールを使えば作成できるかもわからず困っていたところに、今回のスレッドを見つけましたので、鈴木さんの上記リンクをたどって見てみましたがいま一つ理解できませんでした。

    よって、以下に質問を3つさせて頂きますので、ご回答頂ければ幸甚です。

     

    質問1

    ・プログラム開発はVisualBasic .Net2008 Expressで可能でしょうか?(有償の開発ツールは一切買えない状況です)

    質問2

    ・通常のWindowsServer2003にSharePointService3.0をインストールしているだけのサイト環境でも問題ないでしょうか?

    質問3

    ・他に参考になるサイト・情報がありましたら是非お教え下さい。

     

    以上、よろしくお願い申し上げます。

    2008年12月19日 1:46
  • SharePoint のカスタム Web アプリケーションを作成し、その aspx ファイルに対して、外部から(WebHttpRequest  クラスを利用して)ファイルを POSTするようなしかけを組んだことがありますので、実現できると思います。

     

    質問1

    私が実装した時は VB.NET 2005 でしたが、2008 でも問題ないと思います。

     

    質問2

    問題ないと思います。

    開発する際には、SharePoint.dll の参照を追加する必要がありますので、WSS3.0 のサービスをインストールした環境に Visual Studio をインストールして開発するのが手っ取り早いでしょう。

     

    質問3

    http://msdn.microsoft.com/ja-jp/library/cc420559.aspx

    http://dobon.net/vb/dotnet/internet/webrequestpost.html

     

    ご参考になれば幸いです。

     

    2008年12月22日 5:56
  • とりまーさん、迅速なレス頂き感謝です。

    年末年始の間にでも挑戦してみますので、うまくできたらまた報告させて頂きます。

    有難うございました!

    2008年12月22日 6:46