精华内容
下载资源
问答
  • 今天在搞svm识别数字,需要读取图片,但是图片有各种不合适的命名(一般应该只有字母、数字、下划线的组合才是正规的),因此需要对图片(或者任意其他文件格式)重新命名。 可以用bat命令实现。 比如我们想将...

    今天在搞svm识别数字,需要读取图片,但是图片有各种不合适的命名(一般应该只有字母、数字、下划线的组合才是正规的),因此需要对图片(或者任意其他文件格式)重新命名。
    可以用bat命令实现。
    比如我们想将图片重命名为0001、0002…可以用下面代码

    @echo off
    setlocal enabledelayedexpansion
    set count=10000
    for /f "delims=" %%i in ('dir /b *.jpg,*.png,*.bmp,*.jpeg,*.gif') do call:Rename "%%~i"
    pause
    exit
     
    :Rename
    set /a count+=1
    if /i "%~1"=="!count:~1!%~x1" goto :eof
    if exist "!count:~1!%~x1" goto Rename
    echo 改名:%1 !count:~1!
    ren "%~1" "!count:~1!%~x1"
    goto :eof
    

    在要重命名的图片路径下新建一个txt文档,将上述代码复制,然后保存为bat文件(将.txt后缀改为.bat),双击即可。

    如果想要重命名为发票001、发票002.。。。这样,只需要将所有!count前面(最好用编辑器的查找替换功能)加上发票两个字,至于数字的位数,由那个10000决定,要得到三位数的就写成1000,五位数的就写成100000,以此类推
    上面是从001开始排序,如果我们想要从038开始排序,可以将第三行代码:

    set count=10000
    

    改为

    set count=10037
    
    展开全文
  • C++实现服务器发送图片

    千次阅读 2018-11-22 20:44:39
    C++实现服务器发送图片 这里是一个简单的图片服务器,每次向这个服务器发送请求后,都会得到一个图片。 特点: 负责发送图片的函数,接收的是string类型的值 重点: 在获取string图片的char*数据时,不能使用c_...

    C++实现服务器发送图片

    这里是一个简单的图片服务器,每次向这个服务器发送请求后,都会得到一个图片。

    特点:

    • 负责发送图片的函数,接收的是string类型的值

    重点

    • 在获取string图片的char*数据时,不能使用c_str(),应该使用data()

    原因是 c_str()在获取char*类型的数据时,会将\0第一次出现的位置作为字符串结束的位置,而data()则会返回整个字符串中的所有字符,包括可能在中间出现的\0

    • 同理,如果想使用append(char*)函数,但是字符串中含有\0,则应该使用append(char* s, int size)
    • 使用中间带有\0的C字符串构造一个string类型的对象时,应该使用string(char* s, int size)

    负责发送图片的函数

    int send_image(int & fd, std::string& image){
    	 // 创建响应实体
        int body_length = image.size();
        const char * body = image.data();
        int response_length = body_length;
        char * buffer = new char[response_length];
        memcpy(buffer, body, body_length); // 写入图片
        // 将响应写入发送缓冲区,并发送
        int ret = write(fd, buffer, response_length);
    	 // 清理
        delete [] buffer;
        return ret;
    

    关于读取图片的函数,参考:
    https://blog.csdn.net/qq_29695701/article/details/84262492
    关于简单的服务器的信息,参考:
    https://blog.csdn.net/qq_29695701/article/details/83830108

    请求图片

    $ curl http://server_ip:8099 > fei_ji.jpg
    


    全部代码:

    #include <iostream>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <unistd.h>
    #include <string.h>
    #include <string>
    #include <fstream>
    #include <sstream>
    
    #define PORT 8099
    #define LISTENQ 5
    std::string read_image(const std::string& image_path);
    int send_image(int & fd, std::string& image);
    int main(){
        int listenfd, connfd;
        struct sockaddr_in servaddr;
        
        listenfd = socket(AF_INET, SOCK_STREAM, 0);
        if(listenfd < 0){
            std::cout << "create socketfd failed" <<std::endl;
            return 0;
        }
    
        bzero(&servaddr, sizeof(servaddr));
        servaddr.sin_family = AF_INET;
        servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
        servaddr.sin_port = htons(PORT);
        
        int bind_ok = bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
        if(bind_ok < 0){
            std::cout << "bind socket with server address  failed" <<std::endl;
            return 0;
        }
        
        int listen_ok = listen(listenfd, LISTENQ);
        if(listen_ok < 0){
            std::cout << "listen socket  failed" <<std::endl;
            return 0;
        }
    
        std::string img = read_image("images/airplane.jpg");
        int write_ok;
        while(1){
            connfd = accept(listenfd, NULL, NULL);
            if(connfd < 0){
                std::cout << "create connection socket failed" <<std::endl;
                return 0;
            }
    
            write_ok = send_image(connfd, img);
            if(write_ok < 0){
                std::cout << "write info to connection socket failed" <<std::endl;
                close(connfd);
                return 0;
            }
            close(connfd);
        }
    }
    
    std::string read_image(const std::string& image_path){
        std::ifstream is(image_path.c_str(), std::ifstream::in);
        is.seekg(0, is.end);
        int flength = is.tellg();
        is.seekg(0, is.beg);
        char * buffer = new char[flength];
        is.read(buffer, flength);
        std::string image(buffer, flength);
        return image;
    }
    
    int send_image(int & fd, std::string& image){
    	 // 创建响应实体
        int body_length = image.size();
        const char * body = image.data();
        int response_length = body_length;
        char * buffer = new char[response_length];
        memcpy(buffer, body, body_length);
        // 将响应写入发送缓冲区,并发送
        int ret = write(fd, buffer, response_length);
    	 // 清理
        delete [] buffer;
        return ret;
    }
    
    
    展开全文
  • 测试的过程中发现上传非中文命名图片显示没有问题,但是上传中文命名图片后,发现上传没有问题,但是不显示。下面是我的代码(与上传无关的代码已删除,只作为思路体现):  jsp页面: ...

            今天用struts写另一个上传图片的小例子,写完之后进行测试。测试的过程中发现上传非中文命名的图片显示没有问题,但是上传中文命名图片后,发现上传没有问题,但是不显示。下面是我的代码(与上传无关的代码已删除,只作为思路体现):

            jsp页面:

    		<form name="itemForm" method="post" action="item.do" enctype="multipart/form-data" id="itemForm">			
    			<input type="hidden" name="itemNo" value="${item.itemNo }"/>
    			<div align="center">
    				
    				<table width="95%" border="0" cellpadding="0" cellspacing="0">
    					<tr>
    						<td height="29">
    							<div align="right">
    								物料代码: 
    							</div>
    						</td>
    						<td>
    							${item.itemNo }
    						</td>
    					</tr>
    					<tr>
    						<td height="26">
    							<div align="right">
    								物料名称: 
    							</div>
    						</td>
    						<td>
    							${item.itemName }
    						</td>
    					</tr>
    					
    					<tr>
    						<td height="74">
    							<div align="right">
    								图片: 
    							</div>
    						</td>
    						<td>
    							<img src="upload/${item.fileName}" width="85" height="49">
    						</td>
    					</tr>
    					<tr>
    						<td width="22%" height="29">
    							<div align="right">
    								<font color="#FF0000">*</font>选择图片: 
    							</div>
    						</td>
    						<td width="78%">
    							<input name=uploadFileName type="file" class="text1" size="40" maxlength="40">
    						</td>
    					</tr>
    				</table>
    				<hr width="97%" align="center" size=0>
    				<div align="center">
    					<input name="btn_upload" class="button1" type="submit"
    						id="btn_upload" value="上传">
    					    
    					<input name="btnBack" class="button1" type="button" id="btnBack"
    						value="返回" onClick="<%=basePath %>item.do">
    				</div>
    			</div>
    		</form>

            ActionForm(get和set方法就不列出了)

            private String itemName;
    	
    	private FormFile uploadFileName;

            Action

    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
    		//将form转换成ItemActionForm
    		ItemActionForm iaf=(ItemActionForm)form;
    		//通过工厂实例化物料维护类
    		ItemService itemService=(ItemService)BeanFactory.getInstance().getServiceObject(ItemService.class);
    		
    		//获取上传的文件信息
    		FormFile formFile=iaf.getUploadFileName();
    		
    		//创建目录
    		File directory=new java.io.File(request.getSession().getServletContext().getRealPath("upload"));
    		if (!directory.isDirectory()) {
    			directory.mkdir();
    		}
    		
    		//将文件写入到制定目录
    		FileOutputStream fos=new FileOutputStream(request.getSession().getServletContext().getRealPath("upload")+"\\"+formFile.getFileName());
    		fos.write(formFile.getFileData());	
    		fos.close();
    		
    		//更新数据库信息
    		itemService.uploadItemImage(iaf.getItemNo(), formFile.getFileName());
    		
    		return mapping.findForward("upload_success");
    	}

            配置文件

    <struts-config>
    
    	<form-beans>
    		<form-bean name="itemForm" type="com.jianxin.drp.web.forms.ItemActionForm" />		
    	</form-beans>
    
    	<action-mappings>
    		<action path="/item" 
    				name="itemForm" 
    				type="com.jianxin.drp.web.actions.ItemAction" 
    				scope="request" 				
    		>			
    			<forward name="upload_success" path="/item.do" redirect="true" />
    		</action>
    	</action-mappings>
    
    	<message-resources parameter="MessageResources" />
    </struts-config>

            可是上传中文命名的图片后,就是不能显示。这种问题的出现,是源于浏览器默认使用的发送编码与服务器的编码不一致导致的。

            我用的是tomcat7.0,在tomcat\conf下的server.xml,在Connector port="8080"那个标签里面加上URIEncoding="UTF-8"就行了,这是因为一般浏览器默认用的发送编码是UTF-8。

            在IE下可以这样修改,工具--》Internet选项--》高级,将下图所示选项给勾去掉,点击确定,那么在IE下就可以显示了(不建议使用)。

            



    展开全文
  • zabbix发送告警附带图片

    千次阅读 2021-07-15 16:36:10
    该脚本具体思路是模拟登陆通过获取到itemid去进去对应的链接,然后再去获取对应图片的URL,通过传参去获取图片,将获取到的图片保存到对应的地址上,然后再去读取图片的位置,将图片用HTML的语句的方式去发送图片。...

    Zabbix 告警附带原生图片

    环境: centos8

    ​ python3.6.8

    脚本的位置:172.22.254.50

    /usr/lib/zabbix/alertscripts/

    在这里插入图片描述

    具体思路

    该脚本具体思路是模拟登陆通过获取到itemid去进去对应的链接,然后再去获取对应图片的URL,通过传参去获取图片,将获取到的图片保存到对应的地址上,然后再去读取图片的位置,将图片用HTML的语句的方式去发送图片。

    怎么调用脚本去发送邮件到对应的账号里面-zabbix的操作

    1、

    在这里插入图片描述

    2、

    在这里插入图片描述

    Problem: {EVENT.NAME}
    
    
    Problem started at {EVENT.TIME} on {EVENT.DATE}
    Problem name: {EVENT.NAME}
    Host: {HOST.NAME}
    Severity: {EVENT.SEVERITY}
    Operational data: {EVENT.OPDATA}
    Original problem ID: {EVENT.ID}
    {TRIGGER.URL}
    

    3、
    在这里插入图片描述

    4、

    在这里插入图片描述

    5、
    在这里插入图片描述

    6、

    在这里插入图片描述

    Zabbix告警:服务器:{HOSTNAME}发生: {TRIGGER.NAME}故障!
    
    监控ID:{ITEM.ID}
    告警主机:{HOST.NAME}
    告警主机:{HOST.IP}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY}
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE}
    事件ID:{EVENT.ID}
    

    7、

    在这里插入图片描述

    Zabbix告警:服务器:{HOST.NAME}发生: {TRIGGER.NAME}已恢复!
    
    监控ID:{ITEM.ID}
    告警主机:{HOST.NAME}
    告警主机:{HOST.IP}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY}
    

    怎么调用脚本去发送邮件到对应的账号里面-服务器的操作

    在服务器上面我们也要给zabbix设置一些权限否则就无法成功发送告警邮件

    首先进入zabbix_server.conf

    修改如下内容:

    在这里插入图片描述
    在这里插入图片描述

    还有一点就是要给脚本和文件加权限,否则就会因为权限报错,无法运行

    在这里插入图片描述

    chmod 777 xxxx

    成功案例:

    在这里插入图片描述
    在这里插入图片描述

    #!/usr/bin/env python3
    
    import requests
    import os, stat, datetime
    import urllib.request
    import datetime
    import time as Time
    import re
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.utils import parseaddr, formataddr
    from smtplib import SMTP
    import sys
    # 邮件标题
    email_title = sys.argv[2]
    # 邮件内容
    #email_msg = sys.argv[3]
    sender = 'xxx'# 发送人邮箱地址
    # 收件人邮箱地址
    to_address = ['xxxx']
    cc_address = ['xxx']
    
    host = 'xxxxxxx' #zabbix的IP地址
    
    username = 'xxx' # 发送人账号
    
    password = 'xxxx0'# 发送人密码
    smtp_server = 'xxxx' # STMP服务器地址
    n_day = 1# 截取多少天前的图表
    
    
    headers = {
        "Host": host,
        "Origin": "https://" + host,
        "Referer": "https://{}/zabbix/index.php".format(host),
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36",
    }
    
    session = requests.session()
    session.headers = headers
    
    
    def get_itemid():
        #获取报警的itemid
        itemid=re.search(r'监控ID:(\d+)',sys.argv[3]).group(1)
        return itemid
    
    
    def monidenglu(id):
        url = 'https://{}/zabbix/index.php'.format(host)
        data = {
            "name": "Admin",
            "password": "zabbix",
            "autologin": "1",
            "enter": "登录",
        }
        html = session.post(url=url,headers=headers,data=data,verify=False)
        if html.status_code == 200:
            get_html(session,id)
        else:
            print(html.status_code)
    
    def get_html(sess,itemid):
        # 定义获取图片的参数
        graph_params = {
            "from":"now-1h",
            "to":"now",
            "itemids[0]": itemid,
            "type": "0",
            "profileIdx": "web.item.graph.filter",
            "profileIdx2": itemid,
            "width": "1820",
            "height":"600",
        }
        graph_url = 'https://{}/zabbix/chart.php?'.format(host)
        #模拟登陆,发送get请求获取图片数据
        graph_req = sess.get(url=graph_url, params=graph_params,verify=False)
        #获取当前时间,用于给图片命名
        time_tag = Time.strftime("%Y%m%d%H%M%S", Time.localtime())
        year = time_tag[0:4]
        month = time_tag[4:6]
        day = time_tag[6:8]
        graph_name = '{}'.format(itemid)+'.png'
        # #创建保存图片的文件,如果不存在便创建文件夹
        graph_path = '/usr/lib/zabbix/alertscripts/img/{}/{}/{}'.format(year,month,day)
        if not os.path.exists(graph_path):
            os.makedirs(graph_path)
        # 使用绝对路径保存图片
        graph_name = os.path.join(graph_path, graph_name)
        # 将获取到的图片数据写入到文件中去
        with open(graph_name, 'wb') as f:
            f.write(graph_req.content)
        img_path = graph_name
        send_mail_pis(img_path)
        
    
    
    # 获取多日前0点与今日0点的时间戳
    def getYesterday(day):
        today = datetime.date.today()
        oneday = datetime.timedelta(days=day)
        yesterday = today - oneday
        today_ = str(today) + " 0:00:00"
        yesterday_ = str(yesterday) + " 0:00:00"
        todayArray = Time.strptime(today_, "%Y-%m-%d %H:%M:%S")
        yesterdayArray = Time.strptime(yesterday_, "%Y-%m-%d %H:%M:%S")
        todayStamp = int(Time.mktime(todayArray)) * 1000
        yesterdayStamp = int(Time.mktime(yesterdayArray)) * 1000
        return str(yesterdayStamp), str(todayStamp), str(yesterday)
    
    
    def text_to_html(text):
        #将邮件内容text字段转换成HTML格式
        d=text.splitlines()
        #将邮件内容以每行作为一个列表元素存储在列表中
        html_text=''
        for i in d:
            i='' + i + '<br>'
            html_text+=i + '\n'
        #为列表的每个元素后加上html的换行标签
        return html_text
    
    # 发送多张图片邮件
    def send_mail_pis(graph_path):
        msgRoot = MIMEMultipart('related')
        msgRoot['Subject'] = email_title
        msgRoot['From'] = sender
        msgRoot['To'] = ",".join(to_address)  # 发给多人
        msgRoot['Cc'] = ",".join(cc_address)  # 发给多人
        mail_html = open("/usr/lib/zabbix/alertscripts/mail.html", "r", encoding="utf-8").read()
        yesterdayIs = str(getYesterday(1)[2]).split("-")
        mail_html = mail_html.replace("{#time1}", Time.strftime("%H:%M %d/%m/%Y", Time.localtime()))
        mail_html = mail_html.replace("{#title}", email_title)
        mail_html = mail_html.replace("{#title1}", email_title.replace("日报", ""))
        text=text_to_html(sys.argv[3])
        mail_html = mail_html.replace("{#msg}", text)
        #对图片进行定位
        insert_img_str = """
            <br><img src="cid:image%s" alt="image%s"><br><!-- imgend -->
            """ % (graph_path,graph_path)
        mail_html = re.sub("<!-- imgend -->", insert_img_str, mail_html)
        content = MIMEText(mail_html, 'html', 'utf-8')
        msgRoot.attach(content)
    
        # 获取图片
        
        fp = open('{}'.format(graph_path), 'rb')
        msgImage = MIMEImage(fp.read())
        fp.close()
        msgImage.add_header('Content-ID', 'image' + str(graph_path))  # 该id和html中的img src对应
        msgRoot.attach(msgImage)
    
        # signature_img_file = 'img/signature.png'
        # fp = open(signature_img_file, 'rb')
        # msgImage = MIMEImage(fp.read())
        # fp.close()
        # msgImage.add_header('Content-ID', 'image_sign')  # 该id和html中的img src对应
        # msgRoot.attach(msgImage)
    
        smtp = SMTP(smtp_server, '587')
        smtp.starttls()
        smtp.login(username, password)
        smtp.sendmail(sender, to_address + cc_address, msgRoot.as_string())
        smtp.quit()
        file_name = 'log'
        fp = open(file_name, "a", encoding="utf-8")
        fp.write(Time.strftime("%Y-%m-%d %H:%M:%S", Time.localtime()) + " 邮件已发送\n")
        fp.close()
    
    
    if __name__ == '__main__':
        #这里输入要监控的图像监控项的id
        itemid = get_itemid()
        monidenglu(itemid)
        print('发送成功')
    
    
    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
      xmlns="http://www.w3.org/TR/REC-html40">
    
    <head>
      <meta http-equiv=Content-Type content="text/html; charset=utf-8">
      <meta name=Generator content="Microsoft Word 15 (filtered medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
      o\:* {behavior:url(#default#VML);}
      w\:* {behavior:url(#default#VML);}
      .shape {behavior:url(#default#VML);}
      </style><![endif]-->
      <style>
        <!--
        /* Font Definitions */
        @font-face {
          font-family: 宋体;
          panose-1: 2 1 6 0 3 1 1 1 1 1;
        }
    
        @font-face {
          font-family: "Cambria Math";
          panose-1: 2 4 5 3 5 4 6 3 2 4;
        }
    
        @font-face {
          font-family: 等线;
          panose-1: 2 1 6 0 3 1 1 1 1 1;
        }
    
        @font-face {
          font-family: Calibri;
          panose-1: 2 15 5 2 2 2 4 3 2 4;
        }
    
        @font-face {
          font-family: "\@宋体";
          panose-1: 2 1 6 0 3 1 1 1 1 1;
        }
    
        @font-face {
          font-family: "\@等线";
          panose-1: 2 1 6 0 3 1 1 1 1 1;
        }
    
        @font-face {
          font-family: 微软雅黑;
          panose-1: 2 11 5 3 2 2 4 2 2 4;
        }
    
        @font-face {
          font-family: "\@微软雅黑";
        }
    
        /* Style Definitions */
        p.MsoNormal,
        li.MsoNormal,
        div.MsoNormal {
          margin: 0cm;
          margin-bottom: .0001pt;
          text-align: justify;
          text-justify: inter-ideograph;
          font-size: 10.5pt;
          font-family: 等线;
        }
    
        a:link,
        span.MsoHyperlink {
          mso-style-priority: 99;
          color: #0563C1;
          text-decoration: underline;
        }
    
        a:visited,
        span.MsoHyperlinkFollowed {
          mso-style-priority: 99;
          color: #954F72;
          text-decoration: underline;
        }
    
        p.msonormal0,
        li.msonormal0,
        div.msonormal0 {
          mso-style-name: msonormal;
          mso-margin-top-alt: auto;
          margin-right: 0cm;
          mso-margin-bottom-alt: auto;
          margin-left: 0cm;
          font-size: 12.0pt;
          font-family: 宋体;
        }
    
        span.EmailStyle18 {
          mso-style-type: personal;
          font-family: "Calibri", sans-serif;
          color: black;
        }
    
        span.EmailStyle19 {
          mso-style-type: personal;
          font-family: 等线;
          color: windowtext;
        }
    
        span.EmailStyle20 {
          mso-style-type: personal;
          font-family: 等线;
          color: windowtext;
        }
    
        span.EmailStyle21 {
          mso-style-type: personal;
          font-family: 等线;
          color: #1F497D;
        }
    
        span.EmailStyle22 {
          mso-style-type: personal;
          font-family: 等线;
          color: #1F497D;
        }
    
        span.EmailStyle23 {
          mso-style-type: personal;
          font-family: 等线;
          color: #1F497D;
        }
    
        span.EmailStyle24 {
          mso-style-type: personal;
          font-family: 等线;
          color: #1F497D;
        }
    
        span.EmailStyle25 {
          mso-style-type: personal;
          font-family: 等线;
          color: #1F497D;
        }
    
        span.EmailStyle26 {
          mso-style-type: personal-reply;
          font-family: 等线;
          color: #1F497D;
        }
    
        .MsoChpDefault {
          mso-style-type: export-only;
          font-size: 10.0pt;
        }
    
        @page WordSection1 {
          size: 612.0pt 792.0pt;
          margin: 72.0pt 90.0pt 72.0pt 90.0pt;
        }
    
        div.WordSection1 {
          page: WordSection1;
        }
        -->
      </style>
      <!--[if gte mso 9]><xml>
      <o:shapedefaults v:ext="edit" spidmax="1026" />
      </xml><![endif]-->
      <!--[if gte mso 9]><xml>
      <o:shapelayout v:ext="edit">
      <o:idmap v:ext="edit" data="1" />
      </o:shapelayout></xml><![endif]-->
    </head>
    
    <body lang=ZH-CN link="#0563C1" vlink="#954F72" style='text-justify-trim:punctuation'>
      <div class=WordSection1>
        <p class=MsoNormal align=left style='text-align:left'><span
            style='font-size:12.0pt;font-family:"微软雅黑",sans-serif'></span><span
            style='font-size:12.0pt;font-family:"Calibri",sans-serif;color:#1F497D'> <span lang=EN-US>
              <o:p></o:p>
            </span></span></p>
        <p class=MsoNormal align=left style='text-align:left'><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'></span><span
            style='font-size:12.0pt;font-family:"微软雅黑",sans-serif'>{#msg}</span><span
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'> <span lang=EN-US>
              <o:p></o:p>
            </span></span></p>
        <p class=MsoNormal align=left style='text-align:left'><span
            style='font-size:12.0pt;font-family:"微软雅黑",sans-serif'></span><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'>  </span><span
            style='font-size:12.0pt;font-family:"微软雅黑",sans-serif'></span><span
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'> <span lang=EN-US>
              <o:p></o:p>
            </span></span></p>
        <p class=MsoNormal align=left style='text-align:left'><span
            style='font-size:12.0pt;font-family:"微软雅黑",sans-serif'></span><span
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'> </span><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'><a
              href="mailto:gz_dsoc@macroview.com"></a></span><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'>
            <o:p></o:p>
          </span></p>
        <p class=MsoNormal align=left style='text-align:left'><span
            style='font-size:12.0pt;font-family:"微软雅黑",sans-serif'></span><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'><o:p></o:p></span></p>
        <p class=MsoNormal align=left style='text-align:left'><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'>
            <o:p>&nbsp;</o:p>
          </span></p>
        <p class=MsoNormal><b><u><span lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'>Statistics
                Performance Summary</span></u></b><b><span lang=EN-US
              style='font-size:12.0pt;font-family:"Calibri",sans-serif'> </span></b><b><u><span lang=EN-US
                style='font-size:12.0pt;font-family:"Calibri",sans-serif'>
                <o:p></o:p>
              </span></u></b></p>
        <p class=MsoNormal><b><span lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'>Report Time:
            </span></b><span lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'>{#time1}</span><span
            lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'> </span><span lang=EN-US
            style='font-size:12.0pt;font-family:"Calibri",sans-serif'>
            <o:p></o:p>
          </span></p>
        <p class=MsoNormal><b><span lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'></span></b><span lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'> </span><span
            lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'><o:p>
            </o:p></span></p>
        <p class=MsoNormal><span lang=EN-US style='font-size:12.0pt;font-family:"Calibri",sans-serif'>
            <o:p>&nbsp;</o:p>
          </span></p>
        <p class=MsoNormal align=center style='text-align:center'><b><span
              style='font-size:12.0pt;font-family:"微软雅黑",sans-serif;color:black'>{#title1}</span></b><b><span
              style='font-family:"微软雅黑",sans-serif'> <span lang=EN-US style='color:black'>
                <o:p></o:p>
              </span></span></b></p>
        <!-- imgstart -->
        <!-- imgend -->
      </div>
    </body>
    
    </html>
    
    

    al>
    <o:p> </o:p>


    {#title1}
    <o:p></o:p>



    
    
    展开全文
  • 关于中文命名图片不能显示

    千次阅读 2014-03-10 21:50:03
    最近遇到的这一个问题,让我百思不得...解决方法:在tomcat\conf下的server.xml,在Connector port="8080"那个标签里面加上URIEncoding="UTF-8"就行了,这是因为一般浏览器默认用的发送编码是UTF-8。 如果用的是IE浏览
  • 本文通过一个例子,介绍JPanel的图片显示和更新,以及socket传输多个图片时对于文件结束的判断
  • 由于http是无状态的协议,所以实现聊天等通信功能非常困难,当别人发送一条消息时,服务器不知道当前有哪些用户等着收消息,所以以前实现聊天通信功能最普遍的就是轮询机制了,客户端定期发一个请求,看看有没有人...
  • ①客户端和服务器可以选择读取和保存图片的文件 ②发送接收不同格式的图片。 ③服务器读取文件中所有的图片,显示到界面上,并且可以切换图片
  • 命名规范

    千次阅读 2017-11-10 14:43:03
    命名规范
  • Android命名规范

    千次阅读 2016-03-07 16:15:01
    Android命名规范
  • 要想实现一个能够发送带有文本、图片、附件的python程序,首先要熟悉两大模块: email以及smtplib 然后对于MIME(邮件扩展)要有一定认知,因为有了扩展才能发送附件以及图片这些媒体或者非文本信息 最后一个...
  • 前言:使用企业微信app端,在群里添加robot并命名;PC端点击robot可编辑相关资料。 正文 1.调用企业微信机器人API-自动发送文字。 1.1
  • android项目命名规范

    千次阅读 2012-02-07 14:53:56
    2.局部变量命名、静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量命名 只能包含字母和_,字母全部大写,单词之间用_隔开 4.layout中的id命名 命名模式为:view缩写_...
  • 五、springboot实现发送图片的邮件

    千次阅读 2018-11-08 10:49:23
    * 功能描述:发送图片的邮件 * * @param to 发送目标邮箱 * @param subject 邮件标题 * @param content 邮件内容 * @param imgPath 图片路径 * @param imgId 图片id,在img标签里使用 * @throws ...
  • 主要是用到了 System.Net.Mail 命名空间,用到了此空间的三个类,分别是: ●MailMessage类,用于构造电子邮件 ●MailAttachment类,用于构造电子邮件附件 ●SmtpMail类,用于发送电子邮件及其附件 1、MailMessage类...
  • 最近遇到了outlook2016/2019发送约会到outlook2013日历中图片无法正常显示,只是以附件的形式存在。 尝试在信任中心中将这个选项勾选掉,然而没有起作用。 于是接着在网上爬解决方案,终于在微软官网找到了原因...
  • Android系列命名规范教程

    千次阅读 2015-11-15 23:21:32
    刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名的那个控件什么是什么用的,就要读一遍甚至好几遍才知道,这样的话,在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开...
  • 摘自:http://blog.csdn.net/wqjsir/article/details/25538841 或参考:... 发送文本内容 ... Android中使用ACTION_SEND最常用和最简单就是发送文本内容从一个Activity到另一个。例如,内嵌的浏览器可
  • Sub exportpic() '将当前活动工作表中的图片保存到以工作表名称命名的文件夹内 Dim sn, path As String, j% sn = ActiveSheet.name path = "C:\Lx\all\" For j = 1 To ActiveSheet.Shapes.Count ActiveSheet.Shapes...
  • Android文件命名规范

    千次阅读 2013-11-26 17:47:27
    命名不规范真的很坑爹!!   一、Android编码规范 1.java代码中不出现中文,最多注释中可以出现中文 2.局部变量命名、静态成员变量命名 只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写 3.常量...
  • #!/usr/bin/env python #coding: utf-8 ''' FuncName: smtplib_...Desc: 使用smtplib发送邮件 Date: 2016-04-11 14:00 Author: johnny ''' import smtplib from email.mime.multipart import MIMEMultipart from e
  • 1、发送普通文本文件 #coding=utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header host = 'smtp.126.com' # 设置发件服务器地址 port = 25 # 设置发件服务器端口号。...
  • linux命名空间(namespace)学习(三)

    千次阅读 2018-12-08 11:09:40
    LinuxPID命名空间学习 通过对于前两节的学习我们知道Linux内核使用task_struct结构来表示和管理进程,这个数据结构里面存放了很多有关于PID如何管理的数据,可以这么说,Linux内核所有有关进程管理的数据结构都和此...
  • #登录并发送 try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host,25) smtpObj.login(mail_user,mail_pass) smtpObj.sendmail( sender,receivers,message.as_string()) print('success') smtpObj.quit...
  • 一、首先1、添加背景图片到“Bitmap”资源里。方法为“插入——资源”,如果还没有Bitmap,则新建一个Bitmap,否则选择资源  类型为“Bitmap”后“引入”想要插入的背景图片,我加入的背景图片如图1,加入过程如图2...
  • 先初略介绍下当前主要的标识符命名法和英文缩写规则:(这段别人那边借鉴的) 在讲解命名规范前,先初略介绍下当前主要的标识符命名法和英文缩写规则。 标识符命名法 标识符命名法最要有四种: 1 ...
  • css和js的命名规范

    千次阅读 2016-08-12 08:59:24
    笔者在撸代码是也会遇到不知道元素或变量起什么名字的问题,中文拼音太俗气,随便敲几个字母又影响代码的查读性。于是总结这些命名规范。有些资料来源于网络    一 .css命名规范   1.命名规则说明: 1...
  • 在开发过程中,命名规范统一尤为重要,最好是团队中统一好大家命名方法,命名规范的统一下,加上注释,这样日后维护会高效快捷好多。 一 :主要的命名方法及规则讲解 1:(标识符命名法和英文缩写规则) ...
  • Android命名空间的使用总结

    千次阅读 2017-02-03 22:04:05
    Android的命名空间在开发中使用的频率其实是比较少的,但是对于开发者来说还是要学会简单使用的,它的作用场合一般是用户自定义View的组件中!  简单的应用举例,比如:一个自定义的进度条组件,在布局文件中设置...
  • 前端html页面中的命名规范

    千次阅读 2019-10-23 19:12:24
    项目中文件名字 ...自己也方便查找修改 xxx.html文件的命名 1:主页面 index.html 2: 子页面:首页:homme.html 我的 mine.html 关于我们:aboutus.html 信息反馈 feedback 产品 product 购物 sh...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,966
精华内容 24,786
关键字:

如何给图片命名并发送