gpt4 book ai didi

java - 如何将图像从android发送到servlet然后存储

转载 作者:行者123 更新时间:2023-12-01 05:44:17 24 4
gpt4 key购买 nike

我正在尝试通过 http 向我的服务器发送照片。因此,我将图像转换为字节,然后将其作为名称值对发送。下面是我这样做的代码。现在我的麻烦是服务器端,我如何从收到的字节字符串中重新创建和存储图像

我也在使用 java servlet

Android 上的代码

ByteArrayOutputStream baos = new ByteArrayOutputStream();
pinnedV.getPhoto().compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();

List<NameValuePair> params = new ArrayList<NameValuePair>(2);
params.add(new BasicNameValuePair("photo",new String(b)));

HttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(URL);

try {
request.setEntity(new UrlEncodedFormEntity(params));
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ResponseHandler<String> handler = new BasicResponseHandler();
try {
result = httpclient.execute(request, handler);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

服务器上的代码

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String fromClientphoto= request.getParameter("photo");
byte[] b = fromClientphoto.getBytes();

FileOutputStream fos = new FileOutputStream("D:\\img.png");
fos.write(b);
fos.close();
}

上面的代码写入一个文件,但它不会作为图像打开。这也是 byte[] b = fromClientphoto.getBytes(); 转换回与 Android 手机上相同字节的正确方法吗?有什么想法吗?

最佳答案

不用理会工具包图像,只需将内容写入文件即可。

你可以将图像发布到 android 之外的 Servlet 吗?设置一个虚拟页面,通过基本的 HTML 表单执行相同的操作,将问题分解为越来越小的部分,直到找出导致问题的部分......

关于java - 如何将图像从android发送到servlet然后存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com