Загрузка файлов к файловому серверу с помощью webclient класс

Вы должны убедиться, что оператор await завершен, прежде чем вы сможете сравнить. Помните, что async / await не заставляет код работать синхронно, он просто форматирует его таким образом, чтобы мы, разработчики, выглядели так, как будто он синхронизирован.

function findData() {
      return Tarrif.find().distinct('tarrif_type',(err,docs)=>{
          docs.forEach(async (ele)=>{
          let count= User.countDocuments({tarrif_type:ele});
          result.push(ele);
          resu[ele]=await count;
          result.push(count);
        });
      });
    };


router.get('/getTarrifDetails',async (req,res,next)=>{
    let res = null;
    try {
       res = await findData();
    } catch(e) {
      console.log(e);
    }
    if(res !== 0){
      //do something
    } else {
      // do something else
    }

});
11
задан Mogsdad 17 May 2016 в 14:51
поделиться

3 ответа

Просто используйте

File.Copy(filepath, "\\\\192.168.1.28\\Files");

Окна fileshare выставленный через путь UNC рассматривают как часть файловой системы и не имеют никакого отношения к сети.

Используемые учетные данные будут учетными данными рабочего процесса ASP.NET или любого олицетворения, которое Вы включили. Если можно настроить их для разбираний в нем, это может быть сделано.

Можно столкнуться с проблемами, потому что Вы используете IP-адрес вместо имени сервера (окна полагают, что настройки предотвращают отъезд домена - при помощи IP, Вы скрываете любые доменные детали). Если вообще возможный, используйте имя сервера!

Если это не будет на том же домене окон, и Вы пытаетесь использовать другую учетную запись домена, то необходимо будет указать имя пользователя как" [domain_or_machine] \[имя пользователя]"

Если необходимо указать явные учетные данные, необходимо будет изучить кодирование решения для олицетворения.

16
ответ дан 3 December 2019 в 05:59
поделиться

при ручном открытии IP-адреса (через Команду выполнения или подключение сетевого диска), ПК отправит учетные данные по каналу, и файловый сервер получит авторизацию от DC.

Когда ASP.NET пробует, затем он собирается попытаться использовать пользователя рабочего IIS (если олицетворение не включено, который перечислит несколько других проблем). Традиционно, у пользователя рабочего IIS нет авторизации работать через серверы (или даже в других папках на веб-сервере).

0
ответ дан 3 December 2019 в 05:59
поделиться
namespace FileUpload
{
public partial class Form1 : Form
{
    string fileName = "";
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

        string path = "";
        OpenFileDialog fDialog = new OpenFileDialog();
        fDialog.Title = "Attach customer proposal document";
        fDialog.Filter = "Doc Files|*.doc|Docx File|*.docx|PDF doc|*.pdf";
        fDialog.InitialDirectory = @"C:\";
        if (fDialog.ShowDialog() == DialogResult.OK)
        {
            fileName = System.IO.Path.GetFileName(fDialog.FileName);
            path = Path.GetDirectoryName(fDialog.FileName);
            textBox1.Text = path + "\\" + fileName;

        }
    }

    private void button2_Click(object sender, EventArgs e)
    {
        try
        {
            WebClient client = new WebClient();

            NetworkCredential nc = new NetworkCredential("erandika1986", "123");

            Uri addy = new Uri(@"\\192.168.2.4\UploadDocs\"+fileName);

            client.Credentials = nc;
            byte[] arrReturn = client.UploadFile(addy, textBox1.Text);
            MessageBox.Show(arrReturn.ToString());

        }
        catch (Exception ex1)
        {
            MessageBox.Show(ex1.Message);
        }
    }
}
}
4
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: