Cgicc 嵌入图像 - CGI 认为图像就是脚本
Cgicc embed image- cgi thinks image is script
我正在使用Cgicc构建一个简单的CGI应用程序。我正在尝试在我的页面中嵌入图像,但是,这是CGI返回的错误
127.0.0.1 - - [15/Nov/2014 13:26:52] code 403, message CGI script is not executable ('/cgi-bin/tmp3.jpg')
我正在使用 CGI 服务器调用 CGI 服务器的实例
andrew@ubuntu:~/www$ python -m CGIHTTPSever
C++守则
#include <iostream>
#include <sstream>
#include <string>
#include <unistd.h>
#include <fstream>
#include <stdlib.h>
#include "cgicc/Cgicc.h"
#include "cgicc/HTTPHTMLHeader.h"
#include "cgicc/CgiDefs.h"
#include "cgicc/Cgicc.h"
#include "cgicc/HTTPHTMLHeader.h"
#include "cgicc/HTMLClasses.h"
#define cimg_display 0
#include "CImg.h"
using namespace std;
using namespace cgicc;
int main(int argc, char **argv){
try{
Cgicc formData;
cout << HTTPHTMLHeader()<<endl;
cout << HTMLDoctype(HTMLDoctype::eStrict)<<endl;
// Set up the HTML document
cout << html() << head() << title("Cgicc example") << head() << endl;
cout << body().set("bgcolor","#cccccc").set("text","#000000").set("link","#0000ff").set("vlink","#000080") << endl;
cout << img().set("src", "tmp3.jpg").set("height", "100").set("width", "100");
cout << "<form method="GET" action="formProcessor.cgi">"<<endl;
cout << h2("Input picure info") <<endl;
cout << p("Height")<<endl;
cout << "<input type="text" name="height"> <br>"<<endl;
cout << p("Width");
cout << "<input type="text" name="width"> <br>"<<endl;
cout << "<input type="submit" value="Submit">"<<endl;
cout << "</form>"<<endl;
}catch(exception& e){
cout <<"Error"<<endl;
}
return 0;
}
有谁知道这个问题的解决方案?我无法在网上找到太多关于这个问题的信息。
事实证明,
这里的问题不在于代码,而在于我存储图像的目录。我试图从cgi-bin
目录中提供图像,这导致服务器将其解释为CGI脚本。我更改了这一行:
cout << img().set("src", "tmp3.jpg").set("height", "100").set("width", "100");
对此
cout << img().set("src", "/images/tmp3.jpg").set("height", "100").set("width", "100");
它开始正确提供图像。该行
cout << img().set("src", "tmp3.jpg").set("height", "100").set("width", "100");
正在从 URL 调用
http://0.0.0.0:8000/cgi-bin/myCGI.cgi
因此,如果没有绝对URL,图像就会被误认为是CGI脚本。
相关文章:
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将"打开的CV图像"中的"颜色"转换为整数格式
- 如何通过cpp程序运行shell脚本
- 平均图像时图像损坏
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- Vulkan验证层不断在VkQueuePresentKHR()上抛出图像布局错误
- 在程序中编写脚本来编写和编译代码
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 将图像添加到资源文件夹UWP C++
- 如何在c++中使用system()来运行包含空格的python脚本
- 彩色图像的卤化物处理平均值
- 在cygwin中运行c++脚本时发生错误
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 重新定位图像时如何前进到下一个内存块
- 如何将真正的字符串从python c-api转换为python脚本
- Cgicc 嵌入图像 - CGI 认为图像就是脚本