Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Cgicc嵌入图像-cgi认为图像是脚本_Html_C++_Image_Cgi - Fatal编程技术网

Html Cgicc嵌入图像-cgi认为图像是脚本

Html Cgicc嵌入图像-cgi认为图像是脚本,html,c++,image,cgi,Html,C++,Image,Cgi,我正在使用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') 我正在使用 andrew@ubuntu:~/www$ python -m CGIHTTPSever C++代码< /p> #include <iostream>

我正在使用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')
我正在使用

andrew@ubuntu:~/www$ python -m CGIHTTPSever
<> C++代码< /p>
#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;
}
#包括
#包括
#包括
#包括
#包括
#包括
#包括“cgicc/cgicc.h”
#包括“cgicc/HTTPHTMLHeader.h”
#包括“cgicc/CgiDefs.h”
#包括“cgicc/cgicc.h”
#包括“cgicc/HTTPHTMLHeader.h”
#包括“cgicc/htmlclass.h”
#定义cimg_显示0
#包括“CImg.h”
使用名称空间std;
使用名称空间cgicc;
int main(int argc,字符**argv){
试一试{
Cgicc格式数据;

事实证明,这里的问题不在于代码,而在于我存储图像的目录。我试图从
cgi-bin
目录提供图像,这导致服务器将其解释为cgi脚本。我更改了这一行:

cout << img().set("src", "tmp3.jpg").set("height", "100").set("width", "100");
因此,如果没有绝对URL,图像就会被误认为是CGI脚本

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");
http://0.0.0.0:8000/cgi-bin/myCGI.cgi