当社ではOAの二次開発を行う必要があるため、Javaを使用してOAを開発しています!ファイルをアップロードするためのインターフェイスが用意されています。私は C# のことを知りませんし、PHP の初心者でもあるので、ファイルをアップロードする方法がわかりません。 !
以下にドキュメントを添付します。
uploadService ファイル アップロード サービスを観察して学習できるように、マスターまたはモデレータがそれを PHP 言語に変換するのを手伝ってくれます。
リクエスト パス: /seeyon/uploadService.do?method= processUploadService
パラメータ:
トークン文字列 ログイン検証後に取得された ID トークン。
senderLoginName 文字列イニシエーターのログイン名を取得できます。
戻り値: 文字列
成功すると、生成された添付ファイル ID が返されます。複数のファイルがアップロードされる場合は、「」で区切られます。 |" シンボルと返された
C# の例:
URL preUrl = null; URLConnection uc = null; preUrl = new URL("http://XXX.XXX.XXX.XXX/seeyon/uploadService.do? method = processUploadService" +"&senderLoginName="+"zy" +"&token="+"997a7cdc-2399-47e8-991e-96c859cccc7f"); String s = parameters.toString(); uc = preUrl.openConnection(); HttpURLConnection hc = (HttpURLConnection) uc; hc.setDoOutput(true); hc.setUseCaches(false); hc.setRequestProperty("contentType", "charset=utf-8"); hc.setRequestMethod("POST"); BufferedInputStream input=new BufferedInputStream(new FileInputStream("c:/LDAP集成设计文档.doc")); String BOUNDARY = "---------------------------7d4a6d158c9"; // 分隔符 String fileName="LDAP集成设计文档.doc"; StringBuffer sb = new StringBuffer(); sb.append("--"); sb.append(BOUNDARY); sb.append("\r\n"); sb.append("Content-Disposition: form-data; \r\n name=\"1\"; filename=\""+fileName+"\"\r\n"); sb.append("Content-Type: application/msword\r\n\r\n"); hc.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + "---------------------------7d4a6d158c9"); byte[] end_data = ("\r\n--" + BOUNDARY + "--\r\n").getBytes(); DataOutputStream dos = new DataOutputStream(hc.getOutputStream()); dos.write(sb.toString().getBytes("utf-8")); int cc=0; while((cc=input.read())!=-1) { dos.write(cc); } dos.write(end_data); dos.flush(); dos.close(); FileOutputStream file = new FileOutputStream("c:/test.txt"); InputStream is = hc.getInputStream(); int ch; while ((ch = is.read()) != -1) { file.write(ch); } if (is != null) is.close();
sock ファイルのアップロードを検索
sock ファイルのアップロードを検索
100 ポイントを得るために、インターネットからコードをコピーしないでください。
私は次のことしか知りませんでした。 PHP 4 か月未満
いただいたものから C# コードから判断すると、基本的に php の sock ファイルアップロード コードと同じです
具体的な実装は精査する必要があります。
サーバーが標準の http プロトコルに従っている場合は、当然、curl を使用する方が簡単です
サーバーからフィードバックを取得できないため、デバッグは不可能です
関数UploadFileToOA($file =array(),$senderLoginName)
{
$client=new SoapClient("http://XXX.XXX.XXX.XXX/xxx?wsdl"); array("userName "=>"ユーザー名","password"=>"パスワード");
$token = $client->__soapCall('authenticate',array($param)); $PostUrl = "http://XXX.XXX.XXX.XXX/XXXLLoginName."&token=".$token->return->id;
$fields = array("file"=>$file) );
$curl =curl_init($PostUrl);
curl_setopt($curl, CURLOPT_POST,true);
curl_setopt($curl, CURLOPT_POST, $fields); URLOPT_RETURTRANSFER,1) ;
$result =curl_exec($curl);
return $result
}
一握りの苦い涙、やっとできました