codenameone - 代号一个图像选择器给出了错误的路径
问题描述
我想上传一个代号为一个的图像,问题是当我上传它时,我得到了错误的图像名称和路径,让我解释一下,所以这是代码:
imaged.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
Display.getInstance().openImageGallery(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
if (ev != null && ev.getSource() != null) {
String filePath = (String) ev.getSource();
int fileNameIndex = filePath.lastIndexOf("/") +1;
String fileName = filePath.substring(fileNameIndex);
System.out.println("image : "+ fileName);
}
}
});
}
});
c3.add(imaged);
我想获取图像名称以将其插入到我的数据库中,我得到的 lint 是:
C:/Users/Emel/AppData/Local/Temp/temp8005230168902905005..png
我选择的图像托管在 www 文件夹下的 wamp 服务器上:
http://localhost/PiWeb1/TeamFlags/es.png
即使文件名错误,这也是错误的,我怎样才能获得真实的路径和文件名!
解决方案
这在设备上有点问题。当涉及到文件系统/媒体时,它们非常不一致,因此我们尝试通过将选择复制到一边来复制模拟器中的一些问题。
原因很简单,假设您可以访问手机的图像目录,您可以在未经用户同意的情况下读取和上传所有图像。因此,他们的操作系统会复制图像并仅允许您访问该数据。
您可能会在设备上获得更好的运气,否则您可能会获得更好的运气:https ://www.codenameone.com/blog/native-file-open-dialogs.html
作为旁注,您的 URL 不会是 http URL,而是文件 URL。
推荐阅读
- c++ - 将 QCoordinate 列表从 C++ 发送到 QML
- matlab - matlab中的函数实现
- python - 如何在 Google App Engine 上为 postgresql 设置 flask-admin 和 flask-sqlalchemy?
- javascript - Express.js:发送响应并执行后台任务
- docker - 带有 Gunicorn 的 Docker:正在使用的连接:('0.0.0.0',8000)
- guidewire - 无法从 PC 到 BC 检索策略 - Guidewire
- php - 对数组和键进行排序和排序
- java - 方法实现后泛型方法的接口
- java - 当我尝试使用 Freemarker Spring Boot 删除元素时出现异常 505
- python - python3x TypeError:'dict_keys'