2016-05-17 4 views
1

Wo auch immer ich die UI zum Hochladen des Dokuments habe, kann ich FormData API leicht zum asynchronen Hochladen auf Web-API verwenden. Jetzt habe ich ein Szenario, in dem ich ein Dokument basierend auf dem Dateipfad hochladen muss, ohne Benutzerschnittstelle oder Benutzereingabe zu verwenden, also wie kann ich das tun?Wie lade ich ein Dokument mit Ajax auf Web-API hoch, ohne html User Control oder Form zu verwenden?

Unten ist der Code, den ich benutze, wenn Benutzer die Datei in Formular hochlädt.

var formData = new FormData(); 
    var myFile = $('#myFile')[0]; 
    formData.append("myFile", myFile.files[0]); 
    $.ajax({ 
     url: url, 
     type: 'POST', 
     data: formData, 
     contentType: false, 
     processData: false, 
     success: function (data, textStatus, xhr) { 
      console.log(data); 
     }, 
     error: function (xhr, ajaxOptions, rtnError) { 
      alert(xhr.responseText + rtnError); 
     } 
    }); 
+1

Ich glaube nicht, Sie Zugriff auf einen Benutzer Maschine w/o ihre Erlaubnis zu bekommen. Sie müssen eine Art Benutzerinteraktion sein. – colecmc

Antwort

0

Im Allgemeinen können Sie nicht auf der System-Client-Datei direkt in einem Browser mit JavaScript zugreifen (dies ist durch Design), und somit erhalten Sie die Benutzer müssen die Datei manuell auswählen zu können, um es laden .

Diese Frage kann weiter klären, was sind die Einschränkungen bei der Manipulation von Dateien in JavaScript: Local file access with javascript

+0

Danke! Ich habe nur darüber nachgedacht, ob es eine Möglichkeit gibt, das zu manipulieren. Im Moment habe ich Web API von der Serverseite aufgerufen! – seUser

Verwandte Themen