我正在使用C ++开发Web服务器,并且希望一个字符串数组包含我的HTML元素的HTML代码。
在该数组的定义中,我想用在其他数组中定义的字符串来补充硬编码字符。
例如,我的func ImagesUploadDecoderFunc(mr *multipart.Reader, p **images.ImageUploadPayload) error {
res := images.ImageUploadPayload{}
for {
p, err := mr.NextPart()
if err == io.EOF {
break
}
if err != nil {
fmt.Fprintln(os.Stderr, err)
return err
}
_, params, err := mime.ParseMediaType(p.Header.Get("Content-Disposition"))
if err != nil {
// can't process this entry, it probably isn't an image
continue
}
disposition, _, err := mime.ParseMediaType(p.Header.Get("Content-Type"))
// the disposition can be, for example 'image/jpeg' or 'video/mp4'
// I want to support only image files!
if err != nil || !strings.HasPrefix(disposition, "image/") {
// can't process this entry, it probably isn't an image
continue
}
if params["name"] == "file" {
bytes, err := ioutil.ReadAll(p)
if err != nil {
// can't process this entry, for some reason
fmt.Fprintln(os.Stderr, err)
continue
}
filename := params["filename"]
imageUpload := images.ImageUpload{
Type: &disposition,
Bytes: bytes,
Name: &filename,
}
res.Files = append(res.Files, &imageUpload)
}
}
*p = &res
return nil
}
数组将包含每个网页的HTML,并将其定义为:
webpages[]
但是,发送给客户端的HTML是:
string webpages[NUM_WEBPAGES] =
{
...
"<p>Please <a href=\"" + urls[PAGE_LOGIN] + "\">login here</a></p>",
...
};
如您所见,<p>Please <a href="">login here</a></p>
中的网址未填充到HTML中。
我已通过代码检查和gdb确认urls[PAGE_LOGIN]
的值为urls[PAGE_LOGIN]
。
(1)为什么不起作用?
(2)这可能吗?
(3)如果否,有什么建议吗?
谢谢!
编辑: 可重现的代码示例最少……因为我不知道如何堆栈溢出。
我的C ++也很糟糕。
/login