私は、サーバーにzipファイルを送信するアプリケーションを持っています。その後、ジップが操作され、応答で新しいジップが返されます。サーバーからの不正なmimeのため、Zipを開くことができません
返される応答は、application/zip
メッセージの代わりにapplication/octet-stream
のMIMEを持つという問題があります。
これは、結果のジップをarchive/zip
で開くことができず、zip: not a valid zip file
と表示される理由です。
私はzipファイルを取得するときにMIMEを変更する方法はありますか?
zipファイルを取得するための私のコード:
func GetZipFromServer(zipname string) {
////////////////////////////////////////////////////
// Open local zip file
file, err := os.Open(zipname + ".zip")
log1.Check(err, "File open failed")
defer file.Close()
stat, err := file.Stat()
log1.Check(err, "Stat failed")
fmt.Println(stat.Size())
////////////////////////////////////////////////////
// Get new zip from server
url := "http://some_server123.com/rest/"
res, err := http.Post(url, "application/zip", file)
log1.Check(err, "Response failed")
////////////////////////////////////////////////////
// Save new zip from server as file
f, err := os.Create(zipname + ".html.zip")
log1.Check(err, "Cannot create file")
err = res.Write(f)
log1.Check(err, "Cannot write file")
err = f.Close()
log1.Check(err, "Cannot close file")
}
サーバー上で**処理**の間にヘッダーを設定する必要があります。 –
私はサーバーにアクセスできない場合、これを行うためにとにかくありますか? – AppTest
残念ながらそうではありません。 MIMEはサーバー側に設定する必要があります。 –