[pve-devel] [PATCH manager v4 1/3] ui: storage content: allow upload of guest images for import type

Dominik Csapak d.csapak at proxmox.com
Wed Mar 26 16:26:06 CET 2025


by allowing 'qcow2', 'vmdk', 'raw' and 'img' files to upload.
Since we expect raw images to have a '.raw' extension, append that for
'.img' files.

partially fixes #2424

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
changes from v3:
* also allow vmdk/raw
* rename '.img' files to '.raw'

 www/manager6/window/DownloadUrlToStorage.js | 4 ++++
 www/manager6/window/UploadToStorage.js      | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/www/manager6/window/DownloadUrlToStorage.js b/www/manager6/window/DownloadUrlToStorage.js
index 3ac80ac9..aabc9d3c 100644
--- a/www/manager6/window/DownloadUrlToStorage.js
+++ b/www/manager6/window/DownloadUrlToStorage.js
@@ -89,6 +89,10 @@ Ext.define('PVE.window.DownloadUrlToStorage', {
 			    filename = matches[1];
 			    compression = matches[2].toLowerCase();
 			}
+		    } else if (view.content === 'import') {
+			if (filename.endsWith('.img')) {
+			    filename += '.raw';
+			}
 		    }
 
 		    view.setValues({
diff --git a/www/manager6/window/UploadToStorage.js b/www/manager6/window/UploadToStorage.js
index cdf548a8..0dad6333 100644
--- a/www/manager6/window/UploadToStorage.js
+++ b/www/manager6/window/UploadToStorage.js
@@ -9,7 +9,7 @@ Ext.define('PVE.window.UploadToStorage', {
     title: gettext('Upload'),
 
     acceptedExtensions: {
-	'import': ['.ova'],
+	'import': ['.ova', '.qcow2', '.raw', '.vmdk', '.img'],
 	iso: ['.img', '.iso'],
 	vztmpl: ['.tar.gz', '.tar.xz', '.tar.zst'],
     },
@@ -135,7 +135,10 @@ Ext.define('PVE.window.UploadToStorage', {
 
 	fileChange: function(input) {
 	    const vm = this.getViewModel();
-	    const name = input.value.replace(/^.*(\/|\\)/, '');
+	    let name = input.value.replace(/^.*(\/|\\)/, '');
+	    if (name.endsWith('.img')) {
+		name += '.raw';
+	    }
 	    const fileInput = input.fileInputEl.dom;
 	    vm.set('filename', name);
 	    vm.set('size', (fileInput.files[0] && Proxmox.Utils.format_size(fileInput.files[0].size)) || '-');
-- 
2.39.5





More information about the pve-devel mailing list