0

我正在尝试从文件中获取最后修改日期,但需要它的路径吗?有人可以告诉我如何获取文件路径吗?

[HttpGet]
public string uploadfile(string token, string filenameP, DateTime modDate, HttpPostedFileBase file)
{
    MemoryStream target = new MemoryStream();   
    file.InputStream.CopyTo(target);    
    byte[] data = target.ToArray();

    //ModDate = File.GetLastWriteTimeUtc("Path");
}
4

3 回答 3

3

上传时,您正在服务器上创建一个新文件。最后修改日期将是“现在”(创建文件的时间)。无法窥探用户的机器以获取此信息(这不是文件本身的一部分)。无法通过 HTTP 表单上传来完成。

现在,某些文件类型可能在文件中包含可能具有相关信息的元数据。如果您知道文件类型并且它确实包含此类元数据,那么您可以打开文件并查看。

于 2012-09-13T06:57:52.953 回答
1

你只是不这样做。出于安全原因,大多数(如果不是全部)浏览器在 Internet 场景中不提供此信息。

于 2012-09-13T06:54:05.323 回答
0

您可以通过 javascript (HTML5) 读取日期并将其作为隐藏的表单输入字段发送。就像是

<script>
  function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object

    // files is a FileList of File objects. List some properties.
    var output = [];
    for (var i = 0, f; f = files[i]; i++) {
      output.push(f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() );
    }
    document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
  }
  document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>

http://www.html5rocks.com/en/tutorials/file/dndfiles/

于 2012-09-13T08:51:45.060 回答