C#winform远程下载读取文件夹里面的图片
pthisbackgroundimage
=
(image)resourcesskin名
这种方法不行,resources中不支持下面的文件夹直接读取,
propertiesresources名
这样是允许的
否则的话,可以用这种方法(只是其中一种)
systemreflectionassembly
asm
=
systemreflectionassemblygetexecutingassembly();
stream
resource
=
asmgetmanifestresourcestream(路径);
thisbackgroundimage=bitmapfromstream(resource);
看你的问题一直拖着那么久,没有实质性的回答,那么,我直接给你代码,希望对你有所帮助。
其实,这个不难,只需要你制作的FTP软件能够获取到服务器文件的详细路径即可。文件移动的操作,都不需要你来做。系统自己会做。
示例,我以listBox为例
private void listBox1_MouseDown(object sender, MouseEventArgs e){
string[] strBuffer = new string[] { "F:\\临时文件\\TestIconico" };
DoDragDrop(new DataObject(DataFormatsFileDrop, strBuffer), DragDropEffectsCopy | DragDropEffectsMove);
}
PS:拖放的数据,请务必是string[]数组,里面存放你的FTP的文件路径,不然,无效的。
FileStream fstr = new FileStream(“FileUrl”, FileModeOpen, FileAccessRead);
fstrRead();
其中参数"FileUrl"就是你要获取的文件路径,具体你可以去查一下FileStream 或者Stream的用法,希望能帮到你!
为什么要点击呢 你可以获取那个地址啊 应该是 http://…………rar 你把这个地址获取到用httpwebrequest 把数据流请求下来在组合成一个 rar就可以啊 不是非要点击才可以保存的;有时间研究下http编程。比webbrowser有意思。
下载完以后,要释放占用的资源。
FileStream mhj = new FileStream();
mhjDispose();//结束释放占用资源
把我的下载代码摘了一段出来,你看看吧:
WebRequest request = WebRequestCreate(downloadUrl);
((HttpWebRequest) request)AllowAutoRedirect = true;
byte[] buffer = new byte[1000000];
using (var response = requestGetResponse())
using (
var stream = new FileStream(savePath, FileModeCreateNew, FileAccessWrite,
FileShareNone))
using (var responseStream = responseGetResponseStream())
{
//var length = (int)responseContentLength;
//fsWrite(brReadBytes(length), 0, length);
long s = streamLength, l = responseContentLength;
int read;
while (!cancelDown && s < l && (read = responseStreamRead(buffer, 0, bufferLength)) != 0)
{
streamWrite(buffer, 0, read);
streamFlush();
s += read;
var percent = (s100/(decimal) l)ToString("N");
}
responseStreamClose();
}
0条评论