httpclient,HttpTime 4.1.3
我试图通过http将文件上载到远程服务器,但没有成功。
这是我的代码:
HttpPost method;
method = new HttpPost(solrUrl + "/extract");
method.getParams().setParameter("literal.id", fileId);
method.getParams().setBooleanParameter("commit", true);
MultipartEntity me = new MultipartEntity();
me.addPart("myfile", new InputStreamBody(doubleInput, contentType, fileId));
method.setEntity(me);
//method.setHeader("Content-Type", "multipart/form-data");
HttpClient httpClient = new DefaultHttpClient();
HttpResponse hr = httpClient.execute(method);
服务器是Solr。
这是为了替换像这样调用curl
的工作bash脚本,
<代码>卷曲http://localhost:8080/solr/update/extract?literal.id=bububu
如果我尝试设置“内容类型”“多部分/表单数据”,接收部分会说没有边界(这是真的):
HTTP状态500-请求被拒绝,因为找不到多部分边界
如果我省略此标头设置,服务器会发出错误描述,据我发现,该描述表明内容类型不是multipart[2]:
HTTP状态400。客户端发送的请求语法不正确([doc=null]缺少必填字段:id)
这与[1]有关,但我无法从中确定答案。我在想,
我也处于同样的情况,但不知道该怎么办。我希望MultipartEntity会告诉HttpPost对象它是多部分的,形成数据并有一些边界,我不会自己设置内容类型。我不太明白如何为实体提供边界-多方实体没有像setBoundary这样的方法。或者,如何获得随机生成的边界,以便自己在addHeader中指定它-也没有getBoundary方法。。。
[1]使用HttpClient4上传文件时设置标题“Content-Type”的问题
[2] http://lucene.472066.n3.nabble.com/Updating-the-index-with-a-csv-file-td490013.html
我怀疑
method.getParams().setParameter("literal.id", fileId);
method.getParams().setBooleanParameter("commit", true);
在第一行中,fileId是字符串还是文件指针(或其他东西)?我希望是一根绳子。至于第二行,您可以设置一个普通参数。
我正在尝试处理HTTP状态400。我不太懂Java(或者是.Net?)
http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error
根据SkyDrive api(http://msdn.microsoft.com/en-us/library/live/hh826531.aspx#uploading_files),我在帖子请求的正文中以字节[]传递图像的内容。文件创建发生在skyDrive服务器上,但当我在skyDrive中打开它时,它说“文件应用程序被损坏或损坏”。 请求的正文 --A300x内容处理:表单数据;name=“f
我尝试使用C#将文件上传到FTP服务器。文件已上传,但字节为零。
我正在尝试使用Support Bee API创建附件,如下所述:https://supportbee.com/api#create_attachment 我编写了一个服务,它使用创建并发送使用文件名的请求。 如果我在《邮递员》中测试,它会成功。我正在为正文使用,只是从UI中选择要上载的文件: 当我试图通过我的服务上传它时,它不起作用: 这将导致500内部服务器错误。检查对象时,我可以看到它的标题值
我在尝试将文件上传到我的S3存储桶时遇到了问题。一切正常,除了我的文件参数似乎不合适。我正在使用Amazon S3 sdk从nodejs上传到s3。 以下是我的路线设置: 这是个项目。upload()函数: 将“Body”参数设置为类似“hello”的字符串可以正常工作。根据doc,Body必须获取(Buffer、类型化数组、Blob、String、ReadableStream)对象数据。但是,上
我正在尝试上传一个文本文件(也尝试了PDF等)到Salesforce。文本文件包含“Hello World”。 这是我正在使用的代码 这将导致以下看起来符合Salesforce指导原则的请求正文:https://developer.Salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_insert_update_bl
我有同样的问题输入流。你能分享更多关于你的修复的细节吗? 谢谢,哈莎 链接到您的问题 JavaApache HttpClient上传文件出错