每当用户点击按钮时,我都会尝试存储多张图片。现在我有
#Define path to store the images
image.out.path <- "/data/documents/images/diedata/testimage.png"
image.connection <- file(image.out.path, open="wb", raw=TRUE)
#create an image, where input.image is an input parameter that takes a photo
writeBin(input.image, image.connection)
当前代码只存储一个图像,如果用户点击一个按钮,它将替换testimage.png中的图像。而不是替换,我如何将更多图像添加到目录中?
答案 0 :(得分:0)
自然是保持一个计数器变量,比如image_count
,最初设置为1,然后替换行
image.out.path <- "/data/documents/images/diedata/testimage.png"
由两行
组成image.out.path <- paste0("/data/documents/images/diedata/testimage",image_count,".png")
image_count <- image_count + 1
答案 1 :(得分:0)
我认为可以有一些方法
1)生成RND添加到文件名
image.out.path <- paste0("/data/documents/images/diedata/testimage_",runif(1),".png")
但这不是100%好方法
2)为文件名添加时间
image.out.path <- paste0("/data/documents/images/diedata/testimage_",Sys.time(),".png")
但是只有一个文件在秒。
3)在目录中选择文件,如果已存在则添加索引
只有在您拥有正确的文件名格式
时才能正常工作all_files=list.files(pattern = "test")
max_ind=as.numeric(substring(all_files,gregexpr("_",all_files)[[1]]+1,gregexpr("\\.",all_files)[[1]]-1))
max_ind=max_ind+1
image.out.path <- paste0("test_",max_ind,".png")
如果您在一个会话中创建所有文件,则只需max_ind=max_ind+1
每个按钮单击