1-) FLUTTER - ftp dosya yükleme indirme file picker kullanımı
kaynak : https://pub.dev/packages/file_picker/install
kaynak : https://pub.dev/packages/file_case
import 'package:dio/dio.dart' as dio;
import 'package:http/http.dart' as http;
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
import 'dart:html' as html;
import 'dart:html';
açıklama : pickFiles da ,withData: true ' yı unutma kaynak https://stackoverflow.com/questions/73659842/flutter-file-picker-is-returning-null-bytes
void main() {
class MyHttpOverrides extends HttpOverrides{
|
void getSelectedFileName() async {
|
void ploadFiles(List<PlatformFile> platformFiles) async {
|
void ploadFilesHttp(List<PlatformFile> platformFiles) async {
|
void ploadFilesHttp23(List<PlatformFile> platformFiles) async {
|
4- .NET CORE TARAFINDAN ALMAK
|
using Microsoft.AspNetCore.Mvc; using System.Net;
namespace KaliteApi.Controllers { [Route("api/[controller]")] [ApiController] public class FileController : ControllerBase {
[Route("postFile")] [HttpPost] public IActionResult postFile(IFormFile file) { string url = "ftp://" + "193.111.103.50:32" + "/" + file.FileName;
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url); request.Credentials = new NetworkCredential("k.ad", "şifre"); request.Method = WebRequestMethods.Ftp.UploadFile;
using (Stream ftpStream = request.GetRequestStream()) { file.CopyTo(ftpStream); } return Ok(); } } }
|
5- .NET CORE ftp klasör oluşturma
|
private bool CreateFTPDirectory(string directory) { try { //create the directory string url = "ftp://" + "193.111.103.50:32" + "/" + directory;
FtpWebRequest requestDir = (FtpWebRequest)FtpWebRequest.Create(new Uri(url)); requestDir.Method = WebRequestMethods.Ftp.MakeDirectory; requestDir.Credentials = new NetworkCredential("k.ad", "şifre"); requestDir.UsePassive = true; requestDir.UseBinary = true; requestDir.KeepAlive = false; FtpWebResponse response = (FtpWebResponse)requestDir.GetResponse(); Stream ftpStream = response.GetResponseStream();
ftpStream.Close(); response.Close();
return true; } catch (WebException ex) { FtpWebResponse response = (FtpWebResponse)ex.Response; if (response.StatusCode == FtpStatusCode.ActionNotTakenFileUnavailable) { response.Close(); return true; } else { response.Close(); return false; } } }
|
6- .NET CORE ftp dosya indirme
|
[Route("downloadFile")] [HttpPost] public Stream downloadFile() { string url = "ftp://" + "193.111.103.50:31/hata.png";
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(new Uri(url));
request.Credentials = new NetworkCredential("k.ad", "şifre"); request.Method = WebRequestMethods.Ftp.DownloadFile; Stream reader = request.GetResponse().GetResponseStream(); return reader; }
|