为了账号安全,请及时绑定邮箱和手机立即绑定

我可以在项目的资源文件夹中看到图像,但我仍然收到无效的网址错误

我可以在项目的资源文件夹中看到图像,但我仍然收到无效的网址错误

largeQ 2019-04-10 18:15:26
所以我有一个程序,用户可以上传图像,然后将它和产品保存到在线商店。但我有一个非常奇怪的问题,没有任何文件名被识别。基本上,用户使用文件选择器在本地上传文件。我已经尝试过我的资源文件夹,我已经尝试过资源/图像,我已经尝试将其保存到主/图像,并且每次发生相同的事情。用户选择他们想要上传的照片,我会看到它转到正确的文件夹,但是当用户点击上传并创建新产品时,会出现错误,指出无效的网址或资源不存在。这就是事情。资源确实存在。我在Intellij项目窗口中看到它。我甚至打印文件的路径到控制台,因为它不在其他地方,但不是,它是正确的文件路径。我想也许有一些奇怪的错字,所以我把文件拖到终端,不管它是确切的文件路径。我疯狂地试图解决这个问题。上传发生的地方public class UploadItems {     @FXML private TextField productName;     @FXML private TextField quantityForSale;     @FXML private TextField prices;     @FXML private Image image;     @FXML private Button imageUploadBtn;     @FXML private Button uploadBtn;     private MainController mainController;     private File file;     private ConnectToDb connectToDb = new ConnectToDb();     private StoreHomePageController storeHomePageController;     private final String fileLocation = "/Users/myname/IdeaProjects/AmeenazonOnlineStore/src/main/Images";     public UploadItems(){         mainController = new MainController();         storeHomePageController = new StoreHomePageController(mainController);     }     @FXML     private void initialize(){         imageUploadBtn.setOnAction(e -> {             uploadImageBtn();         });         uploadBtn.setOnAction(e -> {             uploadBtn();         });     }这是产品类public class Product {     private String name;     private String companyName;     private double price;     private int quantity;     private String description;     private ImageView imageView;     private String fileName;     private String info;     private Image image;  quantity, String description, Image image, String fileName, String info){所以是的,我不知道发生了什么。这是因为我在FXML初始化中设置我的按钮操作吗?我可以看到.png文件被添加到我的项目中。当我看到它...在正确的文件夹中时,我得到一个无效的URL或资源不存在错误对我没有意义。我甚至可以将文件的视频剪辑添加到正确的位置,然后说那里没有文件。将产品添加到主页的方法很好。它过去曾奏效。它实际上只是文件名给我一个错误。
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

Image构造函数需要一个URL,而不是一个文件名。你错过了一个计划; 此外,有效文件名可能不是有效的URL。

使用FilePath的功能转换为URL:

String filename = new File(otherFileLocation + file.getName()).toURI().toString();


查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 464 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号