Heim > Backend-Entwicklung > PHP-Tutorial > 崩溃了,谁帮忙把一个java和c#的程序改成php的,谢谢

崩溃了,谁帮忙把一个java和c#的程序改成php的,谢谢

WBOY
Freigeben: 2016-06-23 14:01:56
Original
918 Leute haben es durchsucht

HttpClient oHttpClient = new HttpClient();	// make post-method        PostMethod post = new PostMethod(_sPostUri);        post.setRequestHeader("FileExt",sFileExt);        //post.setRequestHeader("Content-Type","multipart/form-data");        if (_btContent != null) {        	 ByteArrayRequestEntity entity = new ByteArrayRequestEntity(_btContents);             post.setContentChunked(true);             post.setRequestEntity(entity);        }        int httpResult = 0;        try {            httpResult = oHttpClient.executeMethod(post);            //获取返回值 文件名称            sfilename = post.getResponseBodyAsString();        } catch (Exception ex) {            post.releaseConnection();            System.out.println("提交数据时失败");        } finally {            post.releaseConnection();        }
Nach dem Login kopieren


temp_WebClient = new WebClient();temp_WebClient.Headers.Add("FileExt", "jpg");fileBytes = File.ReadAllBytes("c:\\1.jpg");responseArray = temp_WebClient.UploadData("http://localhost/fileuploader.do", "POST", fileBytes);resStr = Encoding.UTF8.GetString(responseArray);
Nach dem Login kopieren


两段程序都是向一个网址post一个文件,改怎么用php实现,求代码,谢谢!


回复讨论(解决方案)

如果要实现向一个网址post一个文件,php中可以用curl提交。你可以搜索一下用法。

试过了,报了一堆错,我对java是一窍不通,我测试提交到我的php服务器端一点问题都没有,可正式提交到另外一台java服务器的do文件后,就报错,几天了,郁闷死,求助。

$uploadFile = file_get_contents($filePath);//content boundary $boundary   = md5(time());$postStr  = "";$postStr .="--".$boundary."\r\n";$postStr .="Content-Disposition: form-data; name=\"\"; filename=\"a.txt\"\r\n";$postStr .="Content-Type: text/plain\r\n\r\n";$postStr .=$uploadFile."\r\n";$postStr .="--".$boundary."\r\n";                                                                                                                                            /** use curl instead **/$cl = curl_init($url);$boundary = md5(time());curl_setopt($cl,CURLOPT_POST,true);curl_setopt($cl,CURLOPT_HTTPHEADER,array(        "Content-Type: multipart/form-data; boundary=".$boundary));curl_setopt($cl,CURLOPT_POSTFIELDS,$postStr);curl_setopt($cl,CURLOPT_RETURNTRANSFER,true);$content = curl_exec($cl);curl_close($cl);echo $content;
Nach dem Login kopieren


java.lang.NullPointerExceptionjava.lang.NullPointerException	at com.trs.infra.support.file.FilesMan.getNextFileName(FilesMan.java:562)	at com.abs.infra.support.file.FilesMan.getNextFilePathName(FilesMan.java:679)	at com.abs.webframework.controler.servlet.FileUploader.service(FileUploader.java:77)	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)	at com.abs.webframework.controler.servlet.NoLoginServiceControler.service(NoLoginServiceControler.java:110)	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)	at com.abs.servlet.LoginCheckFilter.doFilter(LoginCheckFilter.java:107)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)	at com.abs.cluster.ext.wcm.ClusterProxyFilter.doFilter(ClusterProxyFilter.java:65)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)	at com.abs.infra.session.util.SessionFilterBase.doFilter(SessionFilterBase.java:73)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)	at java.lang.Thread.run(Thread.java:619)
Nach dem Login kopieren

$file = realpath('gif/1.gif'); //要上传的文件$fields['f'] = '@'.$file;$ch = curl_init();  curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_POST, 1 );curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);curl_exec ($ch);  
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage