نوشته شده توسط
arastoahmadi
سلام به همه اساتید گرامی
دوستان کد زیر رو اگه ملاحظه بفرمایید MessageBox اولی ← "Start" و MessageBox آخریم که "End" هستش رو موقعی که start میکنم برام نمایش میده منتها سه خط وسطی رو که حتی یکیش MessageBox هستش رو ازش رد میشه ضمن اینکه خطا هم نمیده که علت اجرانشدنش چیه ممنون میشم یه راهنمایی بفرمایید
MessageBox.Show("Start");
byte[] b = File.ReadAllBytes(@"D:\WebAPI 1398-10-02.rar");
string Files = Convert.ToBase64String(b);
MessageBox.Show(Files);
MessageBox.Show("End")
سلام از کلاس StringBuilder استفاده کن چون اینجوری فشار کمتری به رم و سیستمت میاد....!!
ولی جدا از این کدت یک مشکل بزرگ داره با تابع ToBase64String شما اطلاعات رو رمزگذاری می کنی و حجم این رمزگذاری خیلی زیاده در حد چند مگابایت و وقتی می خوای توی مسیج باکس نشونش بده جا نمیشه حتی توی Text Box و RichText Box هم جا نمیشه چون Max Value تا حد اکثر اندازه int است که میشه 2,147,483,647 که در حالت عادی کمتر هم هست "
32767" حالا این کد رو هم امتحان کن ببین که توی فایلی که توی نوت پد ذخیره میشه حجم چقدره و داره درست کار میکنه....
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Threading;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
progressBar1.Value = 0;
MessageBox.Show("Start");
backgroundWorker1.RunWorkerAsync();
this.Cursor = Cursors.WaitCursor;
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
byte[] b = File.ReadAllBytes(@"C:\Users\Daniyal\Desktop\a.rar ");
StreamWriter sw = File.CreateText(@"C:\Users\Daniyal\Desktop\text1.t xt");
sw.WriteLine(Convert.ToBase64String(b));
sw.Close();
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
this.Cursor = Cursors.Arrow;
progressBar1.Value = 100;
MessageBox.Show("End");
}
}
}
Untitled.jpg