local.setting.json
Код: Выделить всё
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"ConnectionString": "DefaultEndpointsProtocol=[http|https];AccountName=;AccountKey=;EndpointSuffix=core.windows.net"
}
}
Код: Выделить всё
namespace FileUpload
{
public class FileUpload
{
private readonly string _connectionString;
public FileUpload(string connectionString)
{
_connectionString = connectionString;
}
[FunctionName("FileUpload")]
public async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
ILogger log)
{
try {
Console.WriteLine("Connection String", _connectionString);
string Connection = _connectionString;
string shareName = "my-share";
string dirName = req.Query["dirName"];
var files = req.Form.Files["File"];
ShareClient share = new(Connection, shareName);
ShareDirectoryClient directory = share.GetDirectoryClient(dirName);
if (!directory.Exists())
{
directory.Create();
}
ShareFileClient file = directory.GetFileClient(files.FileName);
using (Stream stream = files.OpenReadStream())
{
await file.CreateAsync(stream.Length);
await file.UploadAsync(stream);
}
string responseMessage = JsonConvert.SerializeObject("File uploaded successfully");
return new OkObjectResult(responseMessage);
}catch(Exception ex)
{
string responseMessage = JsonConvert.SerializeObject(ex);
return new BadRequestObjectResult(responseMessage);
}
}
}
}
Startup.cs
Код: Выделить всё
[assembly: FunctionsStartup(typeof(FileUpload.Startup))]
namespace FileUpload
{
class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
string connectionString = Environment.GetEnvironmentVariable("ConnectionString");
FileUpload file = new(connectionString);
Console.WriteLine( "Connection String : "+ connectionString);
}
}
}
Он выдает
Код: Выделить всё
Microsoft.Extensions.Configuration.AzureAppConfiguration: Invalid connection string format.
Value cannot be null. (Parameter 'provider')
Код: Выделить всё
An unhandled host error has occurred.
Microsoft.Extensions.DependencyInjection.Abstractions: Unable to resolve service for type 'System.String' while attempting to activate 'FileUpload.FileUpload'
Подробнее здесь: https://stackoverflow.com/questions/784 ... -value-can