angular 上传文件到 golang

本代码演示在angular中使用jquery向golang后端上传图片

html 

<div class="div1">
  <form >
    <h3>jQuery用FormData实现文件上传</h3>
    <input type="file" id="avatar" name="images" multiple><br>
    <button type="button" id="button1">上传文件</button>
  </form>
</div>

TypeScript

 
  ngOnInit() {
    var serve_url = "http://192.168.25.128:4400";
    // jQuery上传文件
     $('#button1').click(function(){
      var files = $('#images').prop('files');
      console.log(files);
      var data = new FormData();
      data.append('image', files[0]);
      $.ajax({
       url: this.serve_url + "/upload/",
       type: 'POST',
       data: data,
       cache: false,
       processData: false,    //避开jQuery对 formdata 的默认处理
       contentType: false     //加上正确的Content-Type   
      });
    });

  }

Golang

func uploadfunction(w http.ResponseWriter, r *http.Request){
	w.Header().Set("Access-Control-Allow-Origin", "*") 
	r.ParseForm()
	fmt.Println("req.Method : ",r.Method)
	uploadFile, handle, err := r.FormFile("image")
	if err!=nil {
		fmt.Println("err :",err)
	}
	fmt.Println("filename :" ,handle.Filename)
	os.Mkdir("./driver-images/", 0777)
	saveFile, err := os.OpenFile("./driver-images/" + handle.Filename, os.O_WRONLY|os.O_CREATE, 0666);
	if err != nil {
		fmt.Println("err :",err)
	}
	io.Copy(saveFile, uploadFile);
	defer uploadFile.Close()
	defer saveFile.Close()
	fmt.Println("Copy complace !")
}

猜你喜欢

转载自blog.csdn.net/BlackCarDriver/article/details/87871285