0

我正在尝试将照片上传到 Flickr,但此代码引发了找不到文件的异常。图像在文件夹中,但我不知道为什么 Android 会引发异常。请帮忙。

OAuthRequest request = new OAuthRequest(Verb.POST,
        "http://api.flickr.com/services/upload/");
service.signRequest(accessToken, request);
MultipartEntity entity = new MultipartEntity();
entity.addPart("photo", new FileBody(new File("/test/res/drawable-hdpi/icon.png"),
        "image/png"));
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
    entity.writeTo(out);
    request.addPayload(out.toByteArray());
    request.addHeader(entity.getContentType().getName(),
            entity.getContentType().getValue());

    Response response = request.send();
    String body = response.getBody();
} catch (IOException e) {
    e.printStackTrace();
}
4

2 回答 2

0

尝试使用以下命令打开您的文件openRawResource(int id)

打开用于读取原始资源的数据流。这只能与值为资产文件名称的资源一起使用——也就是说,它可以用于打开可绘制、声音和原始资源;它会在字符串和颜色资源上失败。

我认为FileBody构造函数不接受InputStream,因此您可能需要其他方法来发送二进制数据(文件)。

于 2013-03-06T22:08:32.437 回答
0

您无法drawable通过绝对路径访问文件夹中的文件。

而是尝试移动/assets文件夹中的图片并通过 访问它getAssets()或将其移入/res/raw并通过访问它R.raw.icon

于 2013-03-06T21:42:11.700 回答