【问题标题】:Send CSV file to jersey rest API in java using php CURL request?使用php CURL请求将CSV文件发送到java中的jersey rest API?
【发布时间】:2018-01-09 20:38:33
【问题描述】:

我想调用 Jersey java 中的 Rest API。 REST API 的代码是:

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

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

【问题讨论】:

  • 您想在 PHP 中使用 curl 使用该 API 并希望它是 AJAX,因此您应该生成 XMLHttpRequest JavaScript 代码以将文件上传到该 API。
  • 如果您对 AJAX 的异步、JavaScript 和 XML 部分不感兴趣,而只想将文件发送到该 API,请直接说出来,也许有人可以提供帮助。

标签: java php rest curl jersey-2.0


【解决方案1】:

如果您放弃 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 中发送 cURL 请求是阻塞的,而不是您在要求中所述的异步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 2016-06-01
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多