2017-10-04 4 views
0

Ich möchte eine Datei mit SIRIS und Postman auf den Server hochladen.Datei-Upload fehlgeschlagen mit SIRIS

Go Programm

package main 

import (
    "github.com/go-siris/siris" 
) 

func main() { 
    app := siris.New() 
    app.Post("/", handleFileUpload) 
    app.Run(siris.Addr(":8080")) 
} 

func handleFileUpload(ctx siris.Context) { 
    ctx.Writef("Hello<br/>") 
    file, info, err := ctx.FormFile("filee") 
    if err != nil { 
     ctx.StatusCode(iris.StatusInternalServerError) 
     ctx.HTML("Error while uploading: <b>" + err.Error() + "</b>") 
     return 
    } 
    defer file.Close() 
    fn := info.Filename 
    ctx.Writef("File Name: " + fn) 
} 

Postman

enter image description here

Aber Postman kann nur die Fehlermeldung:

Hallo
Fehler beim Hochladen: Anfrage Content-Type ist nicht multipart/form-data

Warum ist das passiert?

Antwort

2

korrekt HTML-Formular sollte Attribut hanle Datei-Upload haben

enctype="multipart/form-data" 

enter image description here

https://www.w3schools.com/php/php_file_upload.asp

P. S. Ich empfehle nicht, Iris zu benutzen.

+0

Warum empfehlen Sie nicht Iris? – Casper

+0

@Kin lesen .https: //news.ycombinator.com/item? Id = 11976798 und http://www.florinpatan.ro/2016/10/why-you-should-not-use-iris-for-your -go.html. Obwohl diese Artikel ziemlich alt sind, und ein Teil kann veraltet sein, aber es ist wahr, dass der Iris-Autor eine sehr problematische Person ist. Sie können über "Iris Kataras" googlen und mehr Informationen erhalten. – ymonad

+1

Ja. Viele Entwickler mögen die Art, wie der Autor seine Geschäfte macht. Es ist also unwahrscheinlich, dass es eine starke Gemeinschaft um den Rahmen geben würde. Die Entwicklung und Fehlerbehebung wäre daher sehr langsam und ohne angemessene Überprüfung. Auf diese Weise wird es sehr riskant, dieses Framework als Grundlage für ein neues Projekt zu verwenden. Die Golang-Gemeinschaft hat ohne dieses Gepäck viele Alternativen entwickelt. –