2016-04-20 4 views
0

Ich habe ein Problem.Ich versuche, den Dateinamen nach dem Hochladen der Datei mit Angular.js ng-file-upload umzubenennen. Aber was passiert in meinem Fall, wenn ich Ich entferne ngf-min-height="400" ngf-resize="{width: 400, height:400}" Eigenschaften. Ich erkläre meinen Code unten.Kann den Dateinamen nicht ersetzen mit Angular.js ng-Datei-Upload

<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" ngf-min-height="400" ngf-resize="{width: 400, height:400}" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" > 

meine Controller-Seite Code ist unten angegeben.

$scope.onFileSelect = function($files) { 
     fileURL=$files; 
     $scope.imageData=''; 
    } 
var file=fileURL; 
var today=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, ''); 
var newpath=today+"_"+ file.name; 
file.name=newpath; 

In dem obigen Code i eine Zufallszahl ist Hinzufügen von Namen in Datei und ersetzt it.In diesen Fall kommt seine richtig, aber wenn ich wie unter ngf-min-height="400" ngf-resize="{width: 400, height:400}" von Datei-Eingabe am entfernen.

<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" > 

in diesem Fall ich die neuen Dateinamen nicht ersetzen kann und ich nicht die Datei beschränken müssen height and width mir bitte helfen dieses Problem zu beheben.

Antwort

3

Der Upload-Service von ng-Datei-Upload ein Verfahren hierfür hat. Hier ein Beispiel:

$scope.$watch('dropFile', function() { 
    uploadFile($scope.dropFile); 
}); 

function uploadFile(file) { 
    if (!file) { 
    return; 
    } 

    file = Upload.rename(file, "newName.ext"); 

    Upload.upload({ 
     url: <api url for upload>, 
     data: {file: file} 
    }).then(function (resp) { 
     //successful 
    }, function (resp) { 
     //error 
    }, function (evt) { 
     //progress 
    }); 
} 
+0

ja, es funktioniert. Vielen Dank. – satya

+0

schön! Ich habe versucht, so etwas zu finden. Danke – Fabio

0

versuchen diesen Code

<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" accept="image/*" ng-file-select="onFileSelect($files[0]);" > 

$scope.onFileSelect =function(file){ 
    filename = 'jihin.' + file.name.split(".")[1]; 
    var imgFile = new File([file], filename, {type:file.type}); 
    console.log(imgFile); 
}; 
+0

ok, werde ich versuchen, diese aber es ist ok mit 'NGF-min-height = "400" NGF-resize = "{width: 400, height: 400}"', wenn i Ich entferne das, es passiert nicht. Warum? Es muss gelöst werden. – satya

+0

Verwenden Sie ng-file-select = "onFileSelect ($ files [0]);" anstelle von ngf-select @ satya – byteC0de

Verwandte Themen