从 ASHx 文件上传中取回重复数据



我正在使用 post 命令从 JavaScript 函数上传文件。 我需要在上传文件时传递其他参数:

function handleFileSelect(evt) {
var memberID = '12222';
var input = document.getElementById('input-file').files[0];
var formData = new FormData();
formData.append('file[]', input);
formData.append('memberid', memberID);     
$.ajax({
url: 'FileUploadHandler.ashx',
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function (data) {

当我要求返回成员 ID (用于测试(时,它返回 12222,2514。 2514 是成员 ID 的变量集,因此返回重复数据。 这次我添加了另一个参数,用户名,它被添加了两次,逗号分隔两者。 喜欢鲍勃,鲍勃

ASHX 代码:

Public Class FileUploadHandler Implements System.Web.IHttpHandler
Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
If context.Request.Files.Count > 0 Then
Dim pathrefer As String = context.Request.UrlReferrer.ToString()
Dim Serverpath As String = HttpContext.Current.Server.MapPath("Upload_Bio_Files")
Dim postedFile = context.Request.Files(0)
Dim memberID As String = HttpContext.Current.Request.Params("memberid")
context.Response.Write(memberID)

我已经更改了 ashx 页面中的一些代码以拆分参数并获取第一个值,但我觉得这只是一种解决方法,应该有更好的方法。

这是我的解决方案;

如果我将参数设置为变量名称以外的其他参数,则工作正常。 我将它们设置为 param1 和 param2,它不会重复这些值,

var memberID = '12222';
var username = 'Robert';
var input = document.getElementById('input-file').files[0];
var formData = new FormData();
formData.append('file[]', input);
formData.append('param1', memberID);     
formData.append('param2', username);  

在灰烬方面:

Dim param1 = context.Request.Params("param1")
Dim param2 As String = context.Request.Params("param2") 

最新更新