Pomster
Pomster

Reputation: 15197

Get file path from inputstream?

I am trying to get the last modified date from a file, but need its path? Could someone please show me how i can get the file path?

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

Upvotes: 0

Views: 1334

Answers (3)

RouR
RouR

Reputation: 6336

You can read date by javascript (HTML5) and send it as hidden input field of form. Something like

<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/

Upvotes: 0

Kevin P. Rice
Kevin P. Rice

Reputation: 5743

You are creating a new file on the server when you upload. The last modified date will be "now" (the time the file is created). There is no way to snoop the user's machine to get this information (which is not part of the file itself). Can't be done with an HTTP form upload.

Now, some file types may contain metadata in the file which may have pertinent information. If you know the file type and it does contain such metadata then you can open the file and have a look.

Upvotes: 3

Alexei Levenkov
Alexei Levenkov

Reputation: 100547

You just don't. Most (if not all) browsers do not provide this information for security reasons in internet sceanrios.

Upvotes: 1

Related Questions