我正在编写一个简单的python应用程序,用户可以在本地文件管理器中选择一个文件,然后尝试使用strealit进行上传。
我能够成功地把用户使用streamlit.uploader提供的文件,并将文件存储在stramlit应用程序文件夹中的临时目录中,但问题是我不能给出存储在新创建的目录中的文件的路径,以便将应用程序发送到我的gcp云桶中。
在下面添加我的片段,任何帮助都是感激的:)
def main():
if file is not None:
file_details = {"FileName":file.name,"FileType":file.type}
st.write(file_details)
with open(os.path.join("tempDir",file.name),"wb") as f:
f.write(file.getbuffer())
st.success("Saved File")
print(cwd+file.name)
file_dir= ("tempDir")
def upload():
file_name = os.path.join(file_dir, file.name)
read_file(file_name)
st.write (file_name)
st.session_state["upload_state"] = "Saved successfully!"
object_name_in_gcs_bucket = bucket.blob("gcp-bucket-destination-path"+ file.name)
object_name_in_gcs_bucket.upload_from_filename(cwd+"/"+file.name)
st.write("Youre uploading to bucket",bucketName)
st.button("Upload file to GoogleCloud", on_click=upload)
if __name__ == "__main__":
main()
我试过使用cwd命令导入文件的路径,也试过操作系统库的文件路径,但没有任何工作
1条答案
按热度按时间guicsvcw1#
你的代码中有一些变量,你知道它们代表什么。试试这个,或者确保你把每一个相关的信息添加到问题和代码片段中。