Is it possible to obtain a Path or Path_like object for an Uploaded File?


Hi! This is my first post so I hope I can make myself clear.

I’m using st.file_uploader to load a file, which I must pass to a function that reads it.
This function only takes Path objects, but I understand that streamlit stores the uploaded file in RAM.
Is there a way to get a Path or Pathlike object to that file in RAM without temporarily storing it into the local disk?

Thanks in advance,

I don’t know of any way to get an actual Path object, or an equivalent to a Path object, without actually saving the data to disk temporarily. If your function is expecting a Path object, it’s most likely going to actually try to visit that object in your filesystem to access it, and if it’s not actually in the file system, it likely won’t work. If you use a NamedTemporaryFile, you can write your code so that it will definitely be deleted from the disk once you’re done with it, but I don’t know of a way to get a Path without at least temporarily storing it on the local disk.

Hi, @blackary! Thanks for the quick response.

I was afraid of that answer, haha. It seems the only viable way is what I’m doing now.

On the bright side, I can rest assured that I did my research properly: there’s no way of doing it.

Have a nice rest of the day!