1

我正在使用 Plupload 插件上传多个图像,因为我们可以选择在客户端调整图像大小,我想上传原始大小的图像并将它们保存到单独的文件夹并将调整大小的图像保存到另一个文件夹。

谁能建议我如何进一步进行?这是我的代码:

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
    Dim chunk As Integer = If(context.Request("chunk") IsNot Nothing, Integer.Parse(context.Request("chunk")), 0)
    Dim fileName As String = If(context.Request("name") IsNot Nothing, context.Request("name"), String.Empty)

    Dim fileUpload As HttpPostedFile = context.Request.Files(0)

    Dim uploadPath = context.Server.MapPath("~/uploads")
    Using fs = New FileStream(Path.Combine(uploadPath, fileName), If(chunk = 0, FileMode.Create, FileMode.Append))
        Dim buffer = New Byte(fileUpload.InputStream.Length - 1) {}
        fileUpload.InputStream.Read(buffer, 0, buffer.Length)

        fs.Write(buffer, 0, buffer.Length)
    End Using

    context.Response.ContentType = "text/plain"
    context.Response.Write("Success")
End Sub

Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
    Get
        Return False
    End Get
End Property

这是我的脚本代码:

<script type="text/javascript">
    $(function () {
        // Setup flash version
        $("#flash_uploader").pluploadQueue({
            // General settings
            runtimes: 'flash',
            url: 'upload.ashx',
            max_file_size: '10mb',
            chunk_size: '1mb',
            unique_names: true,
            filters: [
        { title: "Image files", extensions: "jpg" }
    ],

            // Resize images on clientside if we can
            resize: { width: 800, height: 600, quality: 90 },

            // Flash settings
            flash_swf_url: 'js/plupload.flash.swf',

            init: { StateChanged: function (up) {
                // Called when the state of the queue is changed
                if (up.state == plupload.STOPPED) {
                    $("#btnSubmit").removeAttr("disabled");
                }
            }
            }

        });
    var uploader = $('#flash_uploader').pluploadQueue();
    uploader.bind('FileUploaded', function (up, file, res) {
        $('#showfilelist').append("<div id=" + file.id + "><a href='uploads/" + file.target_name + "' target='_blank'><img src='uploads/" + file.target_name + "' border='0'/><br>" + file.name + "</a><br>(" + plupload.formatSize(file.size) + ") <span></span></div>");

});
});

</script>
4

1 回答 1

2
// Resizing an image
// Inputs [ new image size (Height,Width), Origial file path & name, new file path & name ]

 ResizeImage(int height,int width, string inputFile, string outputFile)
{
            var img = Image.FromFile(inputFile);
            Image imagThumb = null;
            imagThumb = img.GetThumbnailImage(width, height, null, new IntPtr());
            imagThumb.Save(outputFile);
 }

可以从保存图像的路径访问输入和输出文件

eg.var input = Server.MapPath("~/images/imagename");
于 2011-09-16T16:00:25.990 回答