将文件上传、下载(以二进制流保存到数据库)

1、将文件以二进制流的格式写入数据库

首先获得文件路径,然后将文件以二进制读出保存在一个二进制数组中,与数据库建立连接,在SQL语句中将二进制数组赋值给相应的参数,完成向数据库中写入文件的操作

/// 将文件流写入数据库
/// </summary>
/// <param name="filePath">存入数据库文件的路径</param>
/// <param name="id">数据库中插入文件的行标示符ID</param>
/// <returns></returns>
public int UploadFile(string filePath, string id)
{
	byte[] buffer = null;
	int result = 0;
	if (!string.IsNullOrEmpty(filePath))
	{
		String file = HttpContext.Current.Server.MapPath(filePath); 
		buffer = File.ReadAllBytes(file);
		using (SqlConnection conn = new SqlConnection(DBOperator.ConnString))
		{
			using (SqlCommand cmd = conn.CreateCommand())
			{
				cmd.CommandText = "update DomesticCompanyManage_Main_T set ZBDocumentFile = @fileContents where MainID ='" + id + "'";;
				cmd.Parameters.AddRange(new[]{
				new SqlP
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要将XLS文件保存数据库中,可以按照以下步骤进行操作: 1. 首先需要安装 xlrd 库,它可以读取 Excel 文件。可以在命令行中输入以下命令进行安装: ``` pip install xlrd ``` 2. 在 Django 项目中创建一个模型,用于存储 Excel 文件的内容。可以使用二进制字段(BinaryField)来存储文件内容。 ```python from django.db import models class ExcelFile(models.Model): file = models.BinaryField() ``` 3. 创建一个视图,用于处理上传文件的请求。在视图中,可以使用 xlrd 库读取 Excel 文件的内容,并将其存储数据库中。 ```python import xlrd from django.shortcuts import render from .models import ExcelFile def upload_file(request): if request.method == 'POST': file = request.FILES['file'] excel = xlrd.open_workbook(file_contents=file.read()) sheet = excel.sheet_by_index(0) rows = [] for i in range(sheet.nrows): rows.append(sheet.row_values(i)) excel_file = ExcelFile(file=file.read()) excel_file.save() return render(request, 'success.html', {'rows': rows}) return render(request, 'upload.html') ``` 在这个视图中,首先从请求对象中获取上传文件,然后使用 xlrd 库打开 Excel 文件并读取其内容。将读取到的内容存储到一个列表中,最后将文件内容保存数据库中。 4. 创建一个 HTML 模板,用于上传 Excel 文件。可以使用 Django 的表单组件来实现上传文件的功能。 ```html {% extends 'base.html' %} {% block content %} <h1>Upload Excel File</h1> <form method="post" enctype="multipart/form-data"> {% csrf_token %} <input type="file" name="file"> <button type="submit">Upload</button> </form> {% endblock %} ``` 在模板中,使用表单组件来实现上传文件的功能。在表单中,需要设置 enctype 属性为 multipart/form-data,这样才能上传二进制文件
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值