我正在從我的MVC WEB Api應用程序中寫入一個簡單的控制器方法,該方法從Dropbox帳戶下載文件。問題是我無法從方法中返回文件:它說「名稱'文件'在當前上下文中不存在」,但在文檔中可以調用該構造函數。
代碼:ASP.NET MVC當前上下文中不存在名稱'文件'
public async Task<FileResult> GetFile(string folder, string file)
{
using (var dbx = new DropboxClient("generated token key"))
{
using (var response = await dbx.Files.DownloadAsync(folder + "/" + file))
{
var result = await response.GetContentAsStringAsync();
return File(result, file);
}
}
}
完全DropBoxController.cs
類:
using Dropbox.Api;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Mvc;
namespace TestDropBox.Controllers
{
public class DropBoxController : ApiController
{
// GET: api/DropBox
public async Task<IEnumerable<string>> Get()
{
List<string> AccountData= new List<string>();
using (var dbx = new DropboxClient("generated token"))
{
var full = await dbx.Users.GetCurrentAccountAsync();
Console.WriteLine("{0} - {1}", full.Name.DisplayName, full.Email);
AccountData.Add(full.Name.DisplayName);
AccountData.Add(full.Email);
}
return DatiAccount;
}
[System.Web.Http.HttpGet]
public async Task<FileResult> GetFile(string folder, string file)
{
using (var dbx = new DropboxClient("generated token"))
{
using (var response = await dbx.Files.DownloadAsync(folder + "/" + file))
{
var result = await response.GetContentAsStringAsync();
return new File(result, file);
}
}
}
// GET: api/DropBox/5
public string Get(int id)
{
return "value";
}
// POST: api/DropBox
public void Post([FromBody]string value)
{
}
// PUT: api/DropBox/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE: api/DropBox/5
public void Delete(int id)
{
}
}
}
我怎麼能解決這個問題?謝謝。
你真的有需要使用聲明? –
我目前使用System.Web.Mvc – Gab
你能告訴你如何聲明你的控制器類嗎? – Shyju