我正在尝试从eclipse插件项目中的捆绑包中获取图像。但是它总是返回null。请在下面找到项目结构。我想获取“ images / EmailTemplatesOutput / assets / icon_4.png”下的图像“ icon_4.png”的URL。我尝试了不同的方法。但它返回null。
String path = "icon_4.png";
Bundle bundle = Platform.getBundle("BulkDemo");
URL url = FileLocator.find(bundle, new org.eclipse.core.runtime.Path(path), null);
ImageDescriptor imageDesc = ImageDescriptor.createFromURL(url);
Image image = imageDesc.createImage();
答案 0 :(得分:0)
不要将“ images”目录放在“ src”文件夹中,而是将其放在项目的顶层(例如“ bin”和“ META-INF”)。确保您更新了“ build.properties”以将images文件夹包括在构建中。
图像的路径是相对于插件根目录的,因此它将是class YourModel(models.Model):
...
def clean(self):
try:
for email in self.billing_emails:
if not email_re.match(email):
raise ValidationError('Invalid email {}'.format(email)
except (TypeError, Exception) as e:
# log error
# handle error
def save(self, *args, **kwargs):
self.full_clean()
return super(YourModel, self).save(*args, **kwargs)
(假设您移动了图像目录)。
images/EmailTemplatesOutput/assests/icon_4.png
返回的URL使用仅Eclipse方案,因此只能由Eclipse API使用。您可以通过添加以下内容将URL转换为普通文件URL:
FileLocator.find
这可能会导致Eclipse将插件解压缩到一个临时位置以访问文件。