这个想法很简单,我正在创建一个服务,用户可以在其中放置托管在另一个网站上的文件的直接链接,我的程序将打开一个流到该远程服务器并开始以字节为单位读取文件,然后返回每个readed字节给用户.
到目前为止,我设法让这工作,这是我的代码
public void Index()
{
//Create a stream for the file
Stream stream = null;
//This controls how many bytes to read at a time and send to the client
int bytesToRead = 10000; //10000
// Buffer to read bytes in chunk size specified above
byte[] buffer = new Byte[bytesToRead];
// The number of bytes read
try
{
//Create a WebRequest to get the file
HttpWebRequest fileReq = (HttpWebRequest)HttpWebRequest.Create("http://SOME-OTHER-SERVER.com/File.rar");
//Create a response for this request
HttpWebResponse fileResp = (HttpWebResponse)fileReq.GetResponse(); …Run Code Online (Sandbox Code Playgroud) 我在C#中创建了一个SQLite数据库,并使用该查询创建了一个表.
string q = "create table mains ( id int IDENTITY, desc varchar(20), PRIMARY KEY(id) )";
ExecuteQuery(q);
Run Code Online (Sandbox Code Playgroud)
我尝试添加这样的记录:
string txtSQLQuery = "insert into mains (desc) values ('" + textBox1.Text + "')";
ExecuteQuery(txtSQLQuery);
Run Code Online (Sandbox Code Playgroud)
我只是添加了一个desc而不是ID,我想它应该自动增加id字段,但事实并非如此.相反,它每次添加新记录时都会添加desc并且ID字段为空
编辑:我尝试使用:
id int PRIMARY KEY AUTOINCREMENT
Run Code Online (Sandbox Code Playgroud)
但得到了错误:
SQLite.SQLiteException: near "AUTOINCREMENT":
Run Code Online (Sandbox Code Playgroud)
编辑2:当我加载记录时,我得到了:

ID字段中根本没有数字.
我正在制作一个程序,从txt文件导入电子邮件并向他们发送消息,但我面临一个问题,目前我使用线程的发送邮件方法,以防止程序停止响应,确切的问题标题是:
Invalid operationexception was handeled
>>> Cross-thread operation not valid:
Control 'richTextBox1' accessed from a thread other than the thread it was created on.
这是代码
int success = 0;
int failed = 0;
int total = 0;
bool IsRunning;
List<string> list = new List<string>();
private void addmails()
{
string path = textBox2.Text;
foreach (string line in File.ReadAllLines(path))
{
list.Add(line);
}
IsRunning = true;
}
private void sendmails(object sender, DoWorkEventArgs e)
{
if (IsRunning == true)
{
if (checkBox1.Checked != true)
{ …Run Code Online (Sandbox Code Playgroud) 我在用户点击打开文件时编写代码,我想将文件类型过滤到.txt,所以我做了以下代码,但它没有工作它根本没有显示任何txt文件,只是一个空文件夹,这是代码:
try
{
OpenFileDialog o = new OpenFileDialog();
o.Filter = "Text File | .txt";
o.InitialDirectory = Application.StartupPath;
o.ShowDialog();
}
catch
{}
Run Code Online (Sandbox Code Playgroud) 我正在做一个使用文件系统观察器的应用程序,主要目的是监视正在复制的文件,所以我查看了文件系统观察器方法,我找到了4个可以起诉的事件,它们是更改,删除,重命名和创建,我没有找到复制事件,嗯,我想看特定的文件,当用户试图复制文件我阻止他使用文件系统观察器方法这样做,所以在文件系统观察器有任何方法用于复制我可以使用的文件监控?,对不起我的问题可能看起来很愚蠢,但这是我第一次使用文件系统观察器,我读了很多,几乎所有人都同意可以在该类中使用的4个事件.
我在循环访问SQL查询时遇到问题,这是我的代码,它从查询结果中读取每个结果.
// Check if PCID is already inside DB > ActivePCS
$CHECK_PCID_Q = mysql_query("SELECT * FROM ActivePCS where CustomerID='$CIDX' AND Customer_Email='$EMAIL' AND Pc_Name='$PCID'");
//$CHECK_PCID_R = mysql_fetch_array($CHECK_PCID_Q);
$isfound = 0;
while($CHECK_PCID_R = mysql_fetch_array($CHECK_PCID_Q)) // <<-- error is here
{
if($CHECK_PCID_R['PC_Name'] == $PCID)
{
$isfound = 1;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误:
warning mysql_fetch_array() expects parameter 1 to be resource boolean given
Run Code Online (Sandbox Code Playgroud)
在我的localhost它工作正常,但当我上传到我的服务器时,它给出了这个错误.
编辑:对不起,我的错,我的查询有错误的表名.....
我有一个问题,我不知道是否有解决方案.
我的问题是我有这样的下载链接:
http://remotewebsite.com/file.zip
Run Code Online (Sandbox Code Playgroud)
该文件托管在另一个不是我的网站上.并且我希望用户在不知道原始URL的情况下下载文件,例如当用户转到我的链接时
http://mywebsite.com/file.zip
Run Code Online (Sandbox Code Playgroud)
它开始下载文件.
可以把它想象成我托管文件的网站和用户之间的隧道.例如,每个数据包用户从远程网站请求它将通过我,然后它将被发送给用户.
我不知道是否有另一种简单的方法可以做到这一点.
我很抱歉,如果它听起来很愚蠢,但我真的希望它能起作用.