diff --git a/gns3server/handlers/upload_handler.py b/gns3server/handlers/upload_handler.py
index 2ca5eb1e..a4a9396e 100644
--- a/gns3server/handlers/upload_handler.py
+++ b/gns3server/handlers/upload_handler.py
@@ -55,11 +55,15 @@ class UploadHandler:
response.redirect("/upload")
return
- if data["type"] not in ["IOU", "QEMU", "IOS"]:
+ if data["type"] not in ["IOU", "IOURC", "QEMU", "IOS"]:
raise HTTPForbidden("You are not authorized to upload this kind of image {}".format(data["type"]))
- destination_dir = os.path.join(UploadHandler.image_directory(), data["type"])
- destination_path = os.path.join(destination_dir, data["file"].filename)
+ if data["type"] == "IOURC":
+ destination_dir = os.path.expanduser("~/")
+ destination_path = os.path.join(destination_dir, ".iourc")
+ else:
+ destination_dir = os.path.join(UploadHandler.image_directory(), data["type"])
+ destination_path = os.path.join(destination_dir, data["file"].filename)
try:
os.makedirs(destination_dir, exist_ok=True)
with open(destination_path, "wb+") as f:
diff --git a/gns3server/templates/upload.html b/gns3server/templates/upload.html
index 1b230474..eeeeae55 100644
--- a/gns3server/templates/upload.html
+++ b/gns3server/templates/upload.html
@@ -5,6 +5,7 @@
File:
Image type:
+