从inputstream获取文件路径



我试图从文件中获取最后一次修改的日期,但需要它的路径吗?有人能告诉我如何获取文件路径吗?

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

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

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

你就是没有。出于安全原因,大多数(如果不是全部的话)浏览器都不提供这些信息。

您可以通过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/

最新更新