Avatar billede hanibald Mester
24. december 2015 - 10:59 Der er 4 kommentarer og
1 løsning

jquery - modifikation

Hvordan kan koden:

var fileName = e.target.files[0].name;

modificeres så 'filename' kommer til at indeholde både sti og filnavn som en streng?


<script type="text/javascript">
  $(document).ready(function(){
    $('input[type="file"]').change(function(e){
      var fileName = e.target.files[0].name;
    });
  });
</script>
</head>
<body>
  <form>
    <input type="file">
  </form>
</body>
Avatar billede olsensweb.dk Ekspert
24. december 2015 - 21:23 #1
ref http://stackoverflow.com/questions/6365858/use-jquery-to-get-the-file-inputs-selected-filename-without-the-path
 var fileName = $('input[type=file]').val();      // C:\fakepath\filename.doc 




ref  http://forums.asp.net/t/1958926.aspx?How+to+get+the+Actual+file+path+instead+of+fakepath+from+the+file+upload+control+in+safari+using+jvascript+or+jquery+       
ref  http://www.codeproject.com/Questions/690950/get-full-path-of-a-file-using-jquery 
For security reasons you can't set and can't read (or to be precise, when reading you got only filename or fake path) val of <input></input> when type is file...
Avatar billede hanibald Mester
25. december 2015 - 23:26 #2
Tak for dit svar. Umiddelbart tror jeg dog ikke, det løser hele mit problem, som jeg nu har beskrevet nedenfor:

Jeg har brug for at kunne håndtere større selekterede filer (pdf etc.) end det er muligt / hensigtsmæssigt at indlæse i PHP. Endvidere har jeg ikke brug for indlæsningen, men kun sti+filnavn til filens aktuelle placering på brugerens maskine / lokalnet.

Jeg skal kunne bruge sti+fil i PHP - f.eks i $fil_navn. Stien skal ikke gemmes i DB og det er kun brugeren selv, der evt. vil kunne se den.

Jeg har - baseret på en file-selector - alene brug for hele den fysiske sti + filnavn (om ikke vist så i baggrunden).

Løsningen skal kunne anvendes på alle (de mest brugte) browsere uden 'tilpasning'.

Jeg arbejder i øjeblikket ud fra nedenstående kode (der ikke kan tage de store filer).
Hvordan kan den tilpasses?


-----
if (isset ($_POST['submit']))  //start POST
{
    $file      = ($_FILES['file']);
    $file_name  = $file['name'];
    $file_tmp  = $file['tmp_name'];
    $file_size  = $file['size'];
    $file_error = $file['error'];
...


<form method="post" enctype="multipart/form-data">
<fieldset class="form-group">
<label for="upload" class="col-sm-2">Vælg dokument</label>
<div class="col-sm-3">
<input type="file" class="form-control" id="upload" name="file">
</div>
</fieldset>
<fieldset class="form-group">
<div class="col-sm-push-2 col-sm-10">
<input type="submit" class="btn btn-success" name="submit" value="Hent dokument">
</div>
</fieldset>
</form>
-----

PS: Jeg har p.t. nogle få filer på næsten 100mb - og det behøver ikke at være loftet.
Avatar billede olsensweb.dk Ekspert
25. december 2015 - 23:51 #3
ref http://stackoverflow.com/questions/15201071/how-to-get-full-path-of-selected-file-on-change-of-input-type-file-using-jav

For security reasons browsers do no allow this, ie JavaScript in browser has no access to the File System, however using HTML5 File API, only Firefox provides a mozFullPath property, but unfortunately if you try to get the value it returns an empty string:

$('input[type=file]').change(function () {
    console.log(this.files[0].mozFullPath);
});
http://jsfiddle.net/SCK5A/

So don't waste your time.


du kan ikke få fat i brugerens path. den eneste path du kan få er den på serveren, dvs hvor filen er lagt på serveren

citat
Jeg arbejder i øjeblikket ud fra nedenstående kode (der ikke kan tage de store filer).
Hvordan kan den tilpasses?
/citat

ref http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size
You need to set the value of upload_max_filesize and post_max_size in your php.ini :
 
; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M
Avatar billede hanibald Mester
27. december 2015 - 20:10 #4
Jeg havde fra SO fornemmelsen af, at det bar den vej, men ville gerne have det underbygget fra autoritativ kilde.

Må jeg bede om er pointsvar
Avatar billede olsensweb.dk Ekspert
27. december 2015 - 21:52 #5
får du her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester