所以我有一个程序,用户可以上传图像,然后将它和产品保存到在线商店。但我有一个非常奇怪的问题,没有任何文件名被识别。基本上,用户使用文件选择器在本地上传文件。我已经尝试过我的资源文件夹,我已经尝试过资源/图像,我已经尝试将其保存到主/图像,并且每次发生相同的事情。用户选择他们想要上传的照片,我会看到它转到正确的文件夹,但是当用户点击上传并创建新产品时,会出现错误,指出无效的网址或资源不存在。这就是事情。资源确实存在。我在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。
使用File
或Path
的功能转换为URL:
String filename = new File(otherFileLocation + file.getName()).toURI().toString();
添加回答
举报
0/150
提交
取消