Ich bearbeite diesen Beitrag, um meinen neuesten Versuch per Vorschläge unten zu zeigen. Ich habe die Foren gesucht, um eine Lösung zu finden. Ich habe eine ASP.NET MVC-Anwendung, in der ich Angular verwende. Ich versuche, danialfarid/ng-file-upload zu verwenden, um Benutzern zu ermöglichen, PDFs hochzuladen, die dann in der Datenbank als binäre Daten gespeichert werden (nicht meine Idee, aber ich muss es so machen).Ng-Datei-Upload zum Speichern von PDF-Blob zur Datenbank
Ich habe die folgenden (aus den Beispielen genommen) in meinem HTML:
File:<input type="file" ngf-select ng-model="picFile" name="file" accept="image/*" ngf-max-size="2MB" required ngf-model-invalid="errorFile"><br />
<img ngf-thumbnail="picFile" class="thumb"> <button ng-click="picFile = null" ng-show="picFile">Remove</button><br />
<button type="button" class="btn btn-primary" ng-click="uploadPic(picFile)">Upload</button>
Und dies in meinem Winkelregler:
$scope.uploadPic = function (files) {
file.upload = Upload.upload({
url: '/SSQV4/SSQV5/Document/UploadEMRDocument',
data: {file: files}
})
}
Meine MVC Controller:
namespace SSQV5.Controllers
{
public class DocumentController : ApiController
{
public async Task<IHttpActionResult> UploadEMRDocument()
{
try
{
var provider = new MultipartMemoryStreamProvider();
await Request.Content.ReadAsMultipartAsync(provider);
var f = provider.Contents.First(); // assumes that the file is the only data
if (f != null)
{
var filename = f.Headers.ContentDisposition.FileName.Trim('\"');
filename = Path.GetFileName(filename);
var buffer = await f.ReadAsByteArrayAsync();
//buffer now contains the file content,
//and filename has the original filename that was uploaded
//do some processing with it (e.g. save to database)
}
else
{
return BadRequest("Attachment failed to upload");
}
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
return Ok();
}
}
}
Dieser Code trifft den MVC Controller überhaupt nicht. Mir fehlt offensichtlich etwas, aber ich habe nicht den geringsten Hinweis darauf, was es sein könnte. Jede Hilfe wird sehr geschätzt!
Dies gibt mir alle Arten von Fehlern: System.Web.HttpRequestBase enthält keine Definition für 'Inhalt', Der Name 'PAth' existiert nicht im aktuellen Kontext ', der Name' BadRequest 'existiert nicht im aktuellen Kontext . Dies muss viele andere Code- oder Using-Anweisungen enthalten. Kannst du mir bitte sagen, was noch benötigt wird? –
Dies gab mir alle möglichen Fehler, aber ein wenig Forschung zeigte, dass ich von einem ApiController erben muss. Verwenden Sie jedoch diesen Code: $ scope.uploadPic = function (file) { file.upload = Upload.upload ({ URL: '/ SSQV4/SSQV5/Dokument/UploadEMRDocument', Daten: {Datei: Datei} }) } es trifft nie die Controller-Methode. Was vermisse ich? –