2017-06-01 12 views
0

私は、バックエンドにスプリングブートを使用してAngular2アプリケーションを作成しています。アプリケーションには、サーバー上のファイルをアップロードする機能があります。ファイルを正常に動作させるコードをアップロードする。Angular ngf-selectを使用して名前に特殊文字を含むファイルをアップロードする

私はngf-selectを使用してファイルを選択しています。ファイル名に特殊文字がない場合はうまく動作します。

<input type="file" name="file" ng-model="obj.fileModel" ngf-select accept="file_extension"> 

私は@@私の名前ニーラムのshrma などの特殊文字を持つファイルを選択したときに問題が発生します!特殊文字の名前を持つFileオブジェクトを持つobj.fileModelファイルとして

var formData = new FormData(); 
formData.append("fileObj", obj.fileModel); 
UploadFile.save(formData, onUploadSuccess, onUploadError); 

ので、ファイル

をアップロードするには、リソースメソッドを呼び出すことはありません。%%% GGG%.json

アップロードjsのコードがあります

また、私はファイル名をエンコーディングで更新しようとしましたが、ファイルオブジェクトが読み取り専用であるため、名前を変更できないようになり、エンコードされたファイル名の新しいファイルオブジェクトも作成されましたが、 。

リソース方法:

public boolean uploadMyFile(MultipartFile mpfile) throws IOException { 
... 
.... 
File file = new File(myFolder + File.separator + file.getOriginalFilename());    
mpfile.transferTo(file); 
...... 
...... 
} 

だから、特別な私のリソースメソッドを呼び出していない文字持つファイル:uploadMyFile(..)と500サーバーエラーをスローします。

angleJs ngf-selectを使用して特殊文字を含むファイルをアップロードする問題を解決するにはどうすればよいですか?

答えて

0

として

.filter('decodeURL', function() { 
    return function (text) { 
     if (text) { 
      return window.encodeURIComponent(text); 
     } 
    } 
}); 

とhtml

<img src="{{itemDetails.LargeImageName | decodeURL}}" /> 
+0

以下の下にこのフィルタをフィルタを追加しますが、私がモデルに設定されたFileオブジェクトを更新することはできません、動作しません。 –

関連する問題