我用HttpClient-MultipartEntity上传文字和图像 服务端没响应。
来源:互联网 发布:网络用语贼g2什么意思 编辑:程序博客网 时间:2024/05/22 15:19
问:
我在做一个 同时传文字和图像的可是我把服务器代码 整死没响应 客户端提示一切正常的很 。有了 boolean isHaveData = ServletFileUpload.isMultipartContent(request);就不行了 就像阻塞了一样。
下面我把客户端和服务器端的代码贴出来。
[Java] 查看源文件 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/** 上传文字加图片 */
public
void
postDataFile(String serverUrl, String fileurl, String data) {
Log.e(
"test"
,
"load"
+ serverUrl);
Log.e(
"test"
,
"load"
+ fileurl);
Log.e(
"test"
,
"load"
+ data);
HttpClient client =
new
DefaultHttpClient();
HttpPost post =
new
HttpPost(serverUrl);
MultipartEntity mpEntity =
new
MultipartEntity();
try
{
File file =
new
File(fileurl);
FileBody fileBody =
new
FileBody(file);
mpEntity.addPart(
"file"
, fileBody);
mpEntity.addPart(
"data"
,
new
StringBody(data, Charset
.forName(org.apache.http.protocol.HTTP.UTF_8)));
post.setEntity(mpEntity);
HttpResponse response = client.execute(post);
if
(response.getStatusLine().getStatusCode() ==
200
) {
String content = EntityUtils.toString(response.getEntity(),
"utf-8"
);
ho.handleEvent(content);
//回调函数
}
Log.e(
"test"
,
"IsOk"
);
}
catch
(Exception e) {
Log.e(
"test"
,
"出错了:"
+e);
}
finally
{
if
(mpEntity !=
null
) {
try
{
mpEntity.consumeContent();
}
catch
(UnsupportedOperationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch
(IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
client.getConnectionManager().shutdown();
}
}
下面是服务器代码:
[Java] 查看源文件 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public
class
SaveDataFile
extends
HttpServlet {
@SuppressWarnings
(
"unchecked"
)
public
void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
ServletException, IOException {
boolean
isHaveData = ServletFileUpload.isMultipartContent(request);
if
(isHaveData) {
FileItemFactory factory =
new
DiskFileItemFactory();
ServletFileUpload upload =
new
ServletFileUpload(factory);
try
{
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while
(iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if
(item.isFormField()) {
// 普通文本信息处理
String paramName = item.getFieldName();
String paramValue = item.getString();
System.out.println(paramName +
":"
+ paramValue);
}
else
{
// 上传文件信息处理
String fileName = item.getName();
byte
[] data = item.get();
String filePath = getServletContext().getRealPath(
"/files"
)
+
"/"
+ fileName;
FileOutputStream fos =
new
FileOutputStream(filePath);
fos.write(data);
fos.close();
}
}
}
catch
(FileUploadException e) {
e.printStackTrace();
}
}
response.getWriter().write(
"isok"
);
}
当我注释服务器获取文件的代码 服务器就有响应了 而且客户端也能收到来自服务器的回应。
答:
代码没的错误! 是布置的问题 因为服务器 相关jar文件没部署完毕
0 0
- 我用HttpClient-MultipartEntity上传文字和图像 服务端没响应。
- HttpClient-MultipartEntity上传文字和图像
- HTTPCLIENT MultipartEntity 上传中文乱码
- Android HttpClient post MultipartEntity - Android 上传文件
- android 图片上传,使用 httpclient 的MultipartEntity 上传
- 使用HttpClient MultipartEntity 上传图片 类似于表单提交
- 使用MultipartEntity对文字、图片、视频进行综合上传
- 使用MultipartEntity对文字、图片、视频进行综合上传
- 使用MultipartEntity对文字、图片、视频进行综合上传
- 使用MultipartEntity对文字、图片、视频进行综合上传
- Android HttpClient post MultipartEntity
- HttpClient的MultipartEntity
- android利用 MultipartEntity同时上传图片,文件和内容小结
- Android HttpClient post MultipartEntity upload.
- android 用httpClient和HttpUrlConnection上传文件
- hhtp 上传图片--使用MultipartEntity
- 使用MultipartEntity上传图片文件
- Android网络编程之使用HttpClient和MultipartEntityBuilder 批量同时上传文件和文字
- android的 Intent跳转失败,显示“很抱歉,**已停止运行”,这是为什么?
- 【leetcode】【225】Implement Stack using Queues
- PHP 函数作为参数 及其序列化
- org.hibernate.engine.jndi.JndiException: Error parsing JNDI name
- Hadoop伪分布式环境搭建错误及解决
- 我用HttpClient-MultipartEntity上传文字和图像 服务端没响应。
- springmvc中对静态资源的处理
- 冒泡排序、选择排序、插入排序
- JDK安装和配置环境
- Android与服务器端数据交互(基于SOAP协议整合android+webservice)
- 磁盘IOPS计算与测量
- <permission>和<uses-permission>
- [LeetCode]334. Increasing Triplet Subsequence
- sql语句统计求和两种 写的方式