まえがき: 最近、会社の PC 側のテクノロジ選択で Angular を使用することにしました。ここ数日、急いでブログを更新しました。そこで、思い切って Angular を直接使い始めました。小さな穴がいくつもあり、次々と踏むことができます。今日、画像のアップロードという比較的一般的な問題に遭遇しました。
テーマ: 画像はサーバーにアップロードされ、サーバーを通じて Alibaba Cloud に送信されます。
これ以上ナンセンスではなく、フロントエンド コードを投稿するだけです:
$http({ method: ‘POST‘, url: ‘/wechatapp/User/setAvatar‘, data: data, headers: { ‘Content-Type‘: undefined }, transformRequest: function(data) { var formData = new FormData(); formData.append(‘avatar_data‘, data.adata); formData.append(‘avatar_file‘, data.file); return formData; }, data: { adata: scope.avatar_data, file: scope.avatar_file } }).success(function(d) { //请求成功 cb(d); }).error(function(err, status) { console.log(err); cb(err); });
実際、重要なことは、投稿のデフォルトの Content-Type をキャンセルして、FormData の形式でアップロードすることです。通常、Ajax アップロード ファイルは FormData モードでアップロードされます。
上記は Angular Js ファイルアップロード用のフォームデータを紹介した記事です。気に入っていただければ幸いです。