从输入流获取文件路径?

时间:2012-09-13 06:48:12

标签: c#

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

[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");
}

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

你没有。大多数(如果不是全部)浏览器出于安全原因不提供此信息的互联网信息。

答案 2 :(得分: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/