【问题标题】:Rename file after upload and saved上传并保存后重命名文件
【发布时间】:2013-07-02 12:39:22
【问题描述】:

我已经为upload 文件构建了一个不错的上传系统,并将其保存在服务器上,用户也可以一次上传多个文件。 根据用户想要保存文件的位置,文件被保存到不同的目录。还有一个访问数据库,其中包含用户及其上传的文件名,因此每个用户都有自己的文件列表。我这样做是为了让用户只能删除他的文件并下载所有其他文件。

现在用户希望能够在文件上传后更改文件名。 我不知道该怎么做,问题是这是否可能? 我可以添加一个button,这样当用户点击它时,我会显示一个textbox,用户可以在其中输入新名称,然后他点击save,文件本身和@上的文件名会发生变化987654325@表?

我发送旧名称和新名称时可以使用AJAX吗?

我从事 asp.net 和 C# 我希望我自己解释一下。

【问题讨论】:

  • 你能给我们看一些代码吗?我不确定您当前如何显示文件列表
  • @CodingKiwi,你要我显示什么代码?

标签: c# asp.net file rename


【解决方案1】:

您可以使用 asp.net 页面或 Web 服务来完成。 创建一个新的 asp.net 页面,在其中添加代码以重命名文件

System.IO.File.Move(@"some\path\file1.jpg", @"some\path\file2.jpg");
System.IO.File.Delete(@"some\path\file1.jpg");
...
<write here code to update access database>

从 ajax 调用该页面。

【讨论】:

  • 谢谢,所以我所做的太“愚弄”用户,我并没有真正重命名文件,我用新名称制作新文件并删除旧文件,如何检查文件是否是不是在使用?我知道我无法处理打开的文件
  • 我试过你写的,它工作,我没有使用 System.IO.File.Delete(@"some\path\file1.jpg");我看到文件重命名了,没有被复制。
  • @hanan-mstudio 很高兴听到,它奏效了。是的,我看到不需要删除语句。
  • 我如何关闭这个回答?
  • @hanan-mstudio 你已经通过勾选这个答案左边的绿色右标记来做到这一点。
【解决方案2】:

肯定有可能,你有一个函数“System.IO.File.Rename(string oldName, string newName)”——检查一下,我可能记不太清了。您完全可以使用 AJAX 来完成它,而不会出现任何问题。只需确保您对该文件具有写入权限(如果您刚刚上传该文件,您应该已经拥有该权限)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 2016-05-10
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多