搜尋
首頁web前端js教程AngularJS怎麼上傳檔案? angularjs上傳功能的詳細介紹

本篇文章主要講述的是關於angularjs的上傳檔案的功能,angularjs的檔案怎麼上傳你都知道嗎? angularjs是前台頁面,後台使用的是什麼你知道嗎,現在來看這篇文章吧

#使用AngularJS上傳檔案


  • #前台是

    Angular

    頁面
  • 後台使用

    SpringBoot/SpirngMVC

  • #上傳檔案
  • html

    <p>
        <input id="fileUpload" type="file" />
        <button ng-click="uploadFile()">上传</button></p>

  • js

            $scope.upload = function(){
                var form = new FormData();            var file = document.getElementById("fileUpload").files[0];
                form.append(&#39;file&#39;, file);            $http({
                    method: &#39;POST&#39;,
                    url: &#39;/upload&#39;,
                    data: form,
                    headers: {&#39;Content-Type&#39;: undefined},
                    transformRequest: angular.identity
                }).success(function (data) {
                    console.log(&#39;upload success&#39;);
                }).error(function (data) {
                     console.log(&#39;upload fail&#39;);
                })
            }

  • 注意:
  • AngularJS預設的'Content-Type'application/json ,透過設定

    'Content -Type': undefined
  • ,這樣瀏覽器不只幫我們把
Content-Type
設定為
    multipart/form-data
  • ,也填入目前的

    boundary

如果手動設定為:

'Content-Type': multipart/form-data
    ,後台會拋出例外:
  • the request was rejected because no multipart boundary was found

    #boundary
  • 是隨機產生的字串,用來分隔文字的開始和結束

#透過設定
transformRequest: angular.identity

anjularjs transformRequest function
    將序列化我們的
  • formdata object

    ,也可以不加入

  • 後台
    @RequestMapping("/upload")    public void uploadFile(@RequestParam(value = "file" , required = true) MultipartFile file) {        //deal with file
    }
  • 注意


  • 檔案必須通過@RequestParam註解來獲取,且需指定value才能取得到
這樣就完成了上傳檔案
html

#
    <p>
        <input id="fileUpload" type="file" />
        <button ng-click="ok()">上传</button><br>
        <input ng-model="user.username" />
        <input ng-model="user.password" />
    </p>
  • ##js

    #

        $scope.ok = function () {
            var form = new FormData();        var file = document.getElementById("fileUpload").files[0];   
            var user =JSON.stringify($scope.user);
    
            form.append(&#39;file&#39;, file);
            form.append(&#39;user&#39;,user);        $http({
                method: &#39;POST&#39;,
                url: &#39;/addUser&#39;,
                data: form,
                headers: {&#39;Content-Type&#39;: undefined},
                transformRequest: angular.identity
            }).success(function (data) {
                console.log(&#39;operation success&#39;);
            }).error(function (data) {
                console.log(&#39;operation fail&#39;);
            })
        };

  • 注意

#需要將Object轉為String後在附加到form上,否則會直接被轉換成字串[Object,object]

    #後台(想看更多就到PHP中文網
  • AngularJS開發手冊

    中學習)

    @RequestMapping("/upload")    public Map<String, Object> upload(@RequestParam(value = "file") MultipartFile file, @RequestParam(value = "user", required = true) String user) {        try (FileInputStream in = (FileInputStream) headImg.getInputStream();
             FileOutputStream out = new FileOutputStream("filePathAndName")) {            //将Json对象解析为UserModel对象
            ObjectMapper objectMapper = new ObjectMapper();
            UserModel userModel = objectMapper.readValue(user, UserModel.class);            //保存文件到filePathAndName
            int hasRead = 0;            byte[] bytes = new byte[1024];            while ((hasRead = in.read(bytes)) > 0) {                out.write(bytes, 0, hasRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
###注意##############ObjectMapper###為###com .fasterxml.jackson.databind.ObjectMapper######################使用###AngularJS###上傳檔案##########本篇文章到這就結束了(想看更多就到PHP中文網###AngularJS使用手冊###中學習),有問題的可以在下方留言提問。 ###########################

以上是AngularJS怎麼上傳檔案? angularjs上傳功能的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Java vs JavaScript:開發人員的詳細比較Java vs JavaScript:開發人員的詳細比較May 16, 2025 am 12:01 AM

javaandjavascriptaredistinctlanguages:javaisusedforenterpriseandmobileapps,while javascriptifforInteractiveWebpages.1)JavaisComcompoppored,statieldinglationallyTypted,statilly tater astrunsonjvm.2)

JavaScript數據類型:瀏覽器和nodejs之間是否有區別?JavaScript數據類型:瀏覽器和nodejs之間是否有區別?May 14, 2025 am 12:15 AM

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScript評論:使用//和 / * * / * / * /JavaScript評論:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用