【问题标题】:Uploading image to server in android without using String在不使用字符串的情况下将图像上传到android中的服务器
【发布时间】:2014-07-29 15:41:22
【问题描述】:

我正在使用字符串从我的 android 应用程序上传图像,即;每次我想将图像上传到服务器端时,我都必须使用 Base64 将图像解码为字符串并将其添加到

List<NameValuePair> list;

并将其发送到服务器,服务器将该字符串存储到数据库中,当我请求查看图像时,它们会向我提供该字符串图像作为响应,然后我必须将字符串编码为图像,并且存在图像为大得多,表不能容纳完整的值,所以它传递给我不完整的字符串作为响应并且它被撞了。 有什么方法可以将图像直接放到服务器上,而无需每次都将其转换为字符串,有时它似乎效率很低。 PUT 方法有用吗?我可以使用PUT方法直接上传文件吗?

【问题讨论】:

    标签: android mysql image


    【解决方案1】:

    可以使用android自带的HttpClient(apache)库的FileBody。我个人更喜欢使用HttpRequest library。只需将 HttpRequest.java 文件复制到您的项目中即可。以下是您将图像上传到服务器的方法:

    HttpRequest request = HttpRequest.post("http://google.com");
    request.part("status[body]", "Making a multipart request");
    request.part("status[image]", new File("/home/kevin/Pictures/ide.png"));
    if (request.ok())
      System.out.println("Status was updated");
    

    【讨论】:

    • request.part("key","value");是这样的服务器会接收吗??
    • 是的,如果您使用 php,“key”就是您在 serer 中用作 $_POST['key'] 的参数。
    • 服务器正在运行 node.js 并且图像将作为图像存储在服务器程序将图像存储在我发送字符串时存储在数据库表中的位置。
    • 这是一个带有文件的 http post 方法,就像浏览器一样。我不知道 node.js 但它是 http post 所以所有程序都支持它
    • 感谢您的帮助,我会努力的
    猜你喜欢
    • 2013-05-22
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 2014-04-19
    • 2011-07-12
    相关资源
    最近更新 更多