经验分享:C#上传图片转Base64字节存库并支持转换文件提供url读取

工作中经常需要用到图片上传功能,传统的存服务器目录方式在服务器迁移、部署和各种平台交互时操作不太方便,而图片资源存数据库是相对比较方便维护的方式了!以下贴出用C#存储和读取图片资源的一些方法:

/* ----------------------------------------------------------------------------
 * 上传图片类
 * 先读取图片资源转换成base64字节,再转换成字符串存库,无需上传文件到服务器目录
 * ----------------------------------------------------------------------------
 */

using System.IO;

/* 
* 提交数据部分
*/
int l = file_img1.PostedFile.ContentLength;
byte[] buffer = new byte[l];
Stream s = file_img1.PostedFile.InputStream;
try
{
     s.Read(buffer, 0, l);
     string imgByte = Convert.ToBase64String(buffer);
}
catch (Exception ex)
{
     s.Close();
     s.Dispose();

     throw ex;
}
finally
{
     s.Close();
     s.Dispose();
}

string sqlText = string.Format("insert into tb_image(id,imgByte) values({0},'{1})", id, imgByte);
//保存到数据库...



/* -------------------------------------------
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个Java通过Snap7库从S7-1200 PLC读取数据的示例代码,并将数据整理后存储到MySQL数据库中: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import com.snap7.client.S7Client; public class Snap7Example { public static void main(String[] args) { // 连接PLC S7Client client = new S7Client(); int result = client.ConnectTo("192.168.0.1", 0, 1); if (result != 0) { System.out.println("连接PLC失败"); return; } // 读取数据 byte[] data = new byte[20]; result = client.DBRead(1, 0, 20, data); if (result != 0) { System.out.println("读取数据失败"); return; } // 解析数据 int value1 = S7Client.DBX(1, 0, 0, data); int value2 = S7Client.DBW(1, 2, data); float value3 = S7Client.DBD(1, 4, data); // 存储数据到数据库 try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "password")) { PreparedStatement stmt = conn.prepareStatement("INSERT INTO mytable (value1, value2, value3) VALUES (?, ?, ?)"); stmt.setInt(1, value1); stmt.setInt(2, value2); stmt.setFloat(3, value3); stmt.executeUpdate(); } catch (SQLException e) { System.out.println("存储数据到数据库失败:" + e.getMessage()); } // 断开PLC连接 client.Disconnect(); } } ``` 在以上示例代码中,我们首先连接PLC,然后使用`DBRead`方法读取指定DB块的数据。接着,我们使用`S7Client`提供的方法解析数据,并将数据存储到MySQL数据库中。最后,我们断开与PLC的连接。需要注意的是,以上示例代码仅供参考,实际应用中需要根据具体需求进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值