2017-08-02 72 views
1

我想调用Jersey API中的Rest API。其余API的代码是:使用php CURL请求在java中发送CSV文件到泽西休息API?

@POST 
@Path("/csv1") 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
public Response uploadFile1(@FormDataParam("type") int type ,@FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail) 
{ 
} 

我想在CURL请求中使用ajax在PHP中调用它。我该怎么做?

+0

您想要在PHP中使用curl来使用该API,并且希望它成为AJAX,因此您应该生成XMLHttpRequest JavaScript代码以将该文件上传到该API。 – Mastacheata

+0

如果您对AJAX的Async,JavaScript和XML部分不感兴趣,而只想将文件发送到该API,只需说出来就可以有人提供帮助。 – Mastacheata

回答

0

如果您放弃了AJAX要求,这就是您如何使用cURL将文件从PHP发送到example.com的/ csv1 API。

// Create a cURL handle 
$ch = curl_init('http://example.com/csv1'); 

// Create a CURLFile object 
$cfile = curl_file_create('localfilename.csv','text/csv','sentfilename.csv'); 

// Assign POST data 
$data = array('test_file' => $cfile); 
curl_setopt($ch, CURLOPT_POST,1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 

// Execute the handle 
curl_exec($ch); 

要知道:在发送PHP卷曲请求阻塞,而不是异步,正如你在要求中规定。