NetTopologySuite / NetTopologySuite.IO.GPX

GPX I/O for NetTopologySuite
BSD 3-Clause "New" or "Revised" License
10 stars 3 forks source link

Invalid URI: The Uri string is too long #39

Closed HarelM closed 4 years ago

HarelM commented 4 years ago

I'm using the URL field to save base46 images in the GPX file's waypoints. I'm not sure this is OK by the schema, but I'm getting the following error message: Invalid URI: The Uri string is too long. This is probably expected since Uri probably has a limitation. However, I don't see another way of saving a GPX file with an image, and I believe base64 image is a valid URL. What do you think?

airbreather commented 4 years ago

Ugh, CA1056:UriPropertiesShouldNotBeStrings led me down this path. Silly me for just assuming that System.Uri can be used to represent all valid RFC 3986 URIs that System.String can also represent...

airbreather commented 4 years ago

Logged dotnet/runtime#1857. I'll look into possible solutions that might unblock super-long URIs; in the meantime, could this stuff go into <extensions>?

HarelM commented 4 years ago

I still need to think how to address this in general since I can't upgrade to NTS 2.0 apparently due to this issue: https://github.com/NetTopologySuite/NetTopologySuite.IO.GeoJSON/issues/46 So event if this is fixed in latest version I won't be able to easily take it (unless it is fixed in dotnet). Adding this to the extensions part will force me to support this to the end of time, which I'd like to avoid. So I'm not sure how to proceed here regardless of how this will be fixed... In any case, seems like most users do not use the flow that causes the bug, as in most cases I convert the image data to a "regular" url by uploading the image to imgur thus reducing the file size... In any case, let me know if you need a hand with the dotnet issue (weighing my vote or whatever). Thanks for the super quick response though!

HarelM commented 4 years ago

@airbreather are there any plans to address this in this library?

airbreather commented 4 years ago

@airbreather are there any plans to address this in this library?

I intend to do something about it, yes -- most likely there will be a way to allow you to create it using a raw string that must be a data: URI that will work as a pass-through.

HarelM commented 4 years ago

@airbreather Great, thanks! let me know if there's any way I can help out.

HarelM commented 4 years ago

@airbreather Is there anyway I can help progressing this issue and https://github.com/NetTopologySuite/NetTopologySuite.IO.GeoJSON/issues/46? I really want to close the critical bug I have and both these issues are required to do so... :-/

airbreather commented 4 years ago

Resolved by 1a5c27c, I bungled up the auto-link commit message

airbreather commented 4 years ago

@airbreather Is there anyway I can help progressing this issue and NetTopologySuite/NetTopologySuite.IO.GeoJSON#46? I really want to close the critical bug I have and both these issues are required to do so... :-/

@HarelM I've pushed new versions of both packages, so you should be unblocked now.

HarelM commented 4 years ago

Yay! Thanks! I truly appreciate it. :-)