フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:99_その他フォーラム
WEB APIでのファイルアップロードについて
[ 5795 ] WEB APIでのファイルアップロードについて

現在、グループセッションを会社内でテスト運用中です。

文書ファイルをファイル管理のフォルダ内ににアップロードしたいのですが、
どうやってもエラーになります。

やり方はクライアントにファイルを置きHTTPコマンドをブラウザに直接入力しています。
フォルダへのアクセス権も付与していますし、アップロードするファイルも
確かに存在します。
いったいどのようにすればアップロードできるかご教授いただけますでしょうか。

環境
サーバー:ニフティクラウド CentOS 6.4 64bit
J2EEコンテナ:Apache Tomcat/6.0.24
Java:1.7.0_51 Oracle Corporation

発行コマンド
http://URL/gsession/api/file/add.do?fdrParentSid=1&formFile="d:\a.txt"

結果
<Result url="/gsession/api/file/add.do">ファイルを選択してください。</Result>

投稿者あっつ
最新書き込み2014/03/25 13:10:57
[ 5796 ] Re: WEB APIでのファイルアップロードについて

GS Ver.4.2.5 の WEBAPIの説明書(P.18)では、添付ファイルを
指定するパラメータは、「 uploadFile 」となってますので、
  http://URL/gsession/api/file/add.do?fdrParentSid=1&uploadFile"d:\a.txt"
ではないでしょうか?

投稿者GS導入準備中の人
最新書き込み2014/03/25 14:53:40
[ 5797 ] Re: Re: WEB APIでのファイルアップロードについて

ご回答ありがとうございした。
説明書を読み違えてなぜか値の方をしていたようです。
ただ、それで実行しますと警告画面が出て、やはりアップロードできません。
メッセージを見ると型が違うとのことなのですが、何が違うのかわかりません。
質問ばかりで申し訳ありませんがご教示願えますか。

使用コマンド
http://175.184.31.13/gsession/api/file/add.do?fdrParentSid=3&uploadFile="d:\a.txt"

結果
警告
サーバエラーが発生しました。
回線が込み合っている可能性があります。
時間をおいて再接続してください。
サーバエラーログ
javax.servlet.ServletException: BeanUtils.populate


at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.IllegalArgumentException: Cannot invoke jp.groupsession.v2.api.file.add.ApiFileAddForm.setUploadFile on bean class 'class jp.groupsession.v2.api.file.add.ApiFileAddForm' - argument type mismatch - had objects of type "java.lang.String" but expected signature "org.apache.struts.upload.FormFile"
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2235)
at org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2151)
at org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1957)
at org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2064)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1017)
... 33 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2170)
... 37 more

投稿者あっつ
最新書き込み2014/03/25 19:41:32
[ 5799 ] Re: WEB APIでのファイルアップロードについて

ファイルはパスを指定するのではなく、
ファイルそのものをPOSTする必要があります。

ご参考になればと思います。

投稿者MINTIA
最新書き込み2014/03/28 09:11:57
[ 5800 ] Re: Re: WEB APIでのファイルアップロードについて

ファイルの内容自体をバッファか何かにためてそれをPOSTするということでしょうか。
一度試してみます。

ご回答ありがとうございました。

投稿者あっつ
最新書き込み2014/03/31 10:03:01
[ 5803 ] Re: WEB APIでのファイルアップロードについて

上記の続きとなります。
質問ばかりで申し訳ありませんがお助け下さい。

WEB APIでのファイルアップロードについて
EXCEL2007 VBAでローカルクライアントにあるPDFファイルをファイル管理のフォルダにアップロードしようとしています。
フォルダ情報を取得し、アップロードするファイルのフォルダIDを取得するまではうまくいっているのですが、そのPDFをアップロードするのがうまくいきません。
いろいろ試したのですが、どうすればいいのわかりません。
どなたかご教示お願いいたします。

エラー内容
2014-04-01 15:21:28,575 ERROR jp.groupsession.v2.struts.GSExceptionHandler:42 - 予期せぬエラー
org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.

プログラム抜粋
    Open cFileName For Binary Access Read As #iFileNo Len = 1
'バイナリファイル読み込み
Do While Not EOF(iFileNo)
Get #iFileNo, , bBuf
buf = buf & Hex(bBuf)
Loop

'ファイルを閉じる
Close #iFileNo

'パラメータ
paramStr = "fdrParentSid="
paramStr = paramStr & encodeUTF8(Worksheets("setting").Cells(i, 1))
paramStr = paramStr & "&uploadFile="
paramStr = paramStr & encodeUTF8(buf)
    'POST実行
    Set xmlhttp = CreateObject("msxml2.xmlhttp")
    xmlhttp.Open "POST", "http://URL/gsession/api/file/Add.do?", False
    xmlhttp.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded"
    xmlhttp.send (paramStr)

パラメータには
フォルダのIDとPDFファイルの中身をバイナリで取出しUTF-8に変換したデータが入っています。
fdrParentSid=%35&uploadFile=%32%35%35%30%34%34%34%36%32%44%33%31%32%45%33%35%44%41%32%35~~

投稿者あっつ
最新書き込み2014/04/01 16:38:52
[ 6224 ] Re: WEB APIでのファイルアップロードについて

こんにちは。

私もこの投稿気になります。同じ問題で悩んでいます。
ショートメールにも添付ファイルをつけることができないのですが、
おそらく、投稿主さんの問題が解決すると、こっちも解決するのでは、、
と考えています(・∀・)

投稿者にゃ
最新書き込み2015/05/29 14:38:00
[ 7636 ] Re: WEB APIでのファイルアップロードについて

ファイルのデータ型「formFile」となっています。「formFile」とRFC2388で定義されています。参考:https://www.ietf.org/rfc/rfc2388.txt
実際に、この形式に従ってデータを作ればアップロードすることができました。

投稿者ぽくお
最新書き込み2022/01/20 11:10:01
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=4&threadSid=1988
 


TOP